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

2024-09-28 23:27:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我根据以下教程设置了一个Apache2/WSGI/Flask应用程序:https://amunategui.github.io/idea-to-pitch/#installing-flask。我的工作很有魅力,但是当我调整它并更改python文件以便连接到SQL时,我可以在/var/log/apache2的日志中找到它/错误.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/可用站点/FirstApp.conf公司

^{pr2}$

/var/www/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/项目.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!!!"
...

Tags: frompyimportprojectappflaskapplicationsqlalchemy