繁体   English   中英

导入错误:没有名为sqlalchemy的模块

[英]Import Error: No module named sqlalchemy

我根据以下教程设置了Apache2 / WSGI / Flask应用程序: https : //amunategui.github.io/idea-to-pitch/#installing-flask 我的工作方式很吸引人,但是当我对其进行调整并更改python文件以连接到SQL时,可以在/var/log/apache2/error.log的日志中找到:

File "/var/www/FlaskApps/FlaskApps.wsgi", line 8, in <module>
from project import app as application
File "/var/www/FlaskApps/FirstApp/project.py", line 2, in <module>
from sqlalchemy import create_engine
ImportError: No module named sqlalchemy

但是,我能够运行使用python从命令行导入sqlalchemy的脚本。 而且我没有虚拟环境等(我只是从上面的链接进行了基本安装)。

因此WSGI能够在第1行上导入flask,但不能在第2行上导入sqlalchemy ...知道如何解决此问题吗? 谢谢!

查看文件:

/etc/apache2/sites-available/FirstApp.conf

<VirtualHost *:80>
    ServerName ...my_public_domain...
    ServerAdmin admin@mywebsite.com
    WSGIScriptAlias / /var/www/FlaskApps/FlaskApps.wsgi
    <Directory /var/www/FlaskApps/FirstApp/>
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/www/FlaskApps/FirstApp/static/>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

/var/www/FlaskApps/FlaskApps.wsgi

#! /usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApps/FirstApp/")

# home points to the project.py file
from project import app as application
application.secret_key = "somesecretsessionkey"

/var/www/FlaskApps/FirstApp/project.py

from flask import Flask, render_template, request, redirect, url_for, flash, jsonify
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database_setup import Restaurant, Base, MenuItem

engine = create_engine("mysql+mysqldb://root:password@localhost/dbname")  
Base.metadata.bind = engine  
DBSession = sessionmaker(bind=engine)
session = DBSession()

app = Flask(__name__)

@app.route('/')
def project():
    return  "This is from Flask!!!"
...

感谢@Graham Dumpleton的指针

我最终设置了WSGIDaemonProcess(请参阅: http ://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/#configuring-apache)和python虚拟环境,以确保我知道要配置哪个python(请参阅: https:// askubuntu.com/questions/244641/如何设置和使用虚拟python-environment-in-ubuntu中 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM