ImportError:无法从“ flask_sqlalchemy”(未知位置)导入名称“ SQLAlchemy”

时间:2018-11-27 08:47:09

标签: python heroku sqlalchemy flask-sqlalchemy

在将我的python应用成功地推到heroku之后,我发出了heroku ps:scale web=1命令,并在heroku日志中遇到了以下错误;

2018-11-27T08:34:03.963364+00:00 app[web.1]: from flask_sqlalchemy import SQLAlchemy
2018-11-27T08:34:03.971768+00:00 app[web.1]: ImportError: cannot import name 'SQLAlchemy' from 'flask_sqlalchemy' (unknown location)
2018-11-27T08:34:03.972159+00:00 app[web.1]: [2018-11-27 08:34:03 +0000] [11] [INFO] Worker exiting (pid: 11)
2018-11-27T08:34:04.163955+00:00 app[web.1]: Traceback (most recent call last):

尽管使用以下步骤/命令为sqlalchemy设置了虚拟环境;

virtualenv sqlalchemy
source flask.ext.sqlalchemy/bin/activate
pip install sqlalchemy
deactivate

virtualenv flask_sqlalchemy
source flask_sqlalchemy/bin/activate
pip install flask-sqlalchemy
deactivate

在我的python代码中包含以下内容;

import flask_sqlalchemy
from flask_sqlalchemy import SQLAlchemy

和必需的Heroku文件;

Procfile的内容:

web: gunicorn project:app  --log-file - --log-level debug

requirements.txt的内容;

Flask
gunicorn

runtime.txt的内容;

python-3.7.1

找不到SQLAlchemy。

请找到我的代码here

python应用程序在本地计算机上运行良好,但在Heroku上却运行不佳。是否有适当的方法安装SQLAlchemy以进行正确的导入?还是有另一种方法?

1 个答案:

答案 0 :(得分:0)

从heroku documentation

  

requirements.txt 文件一起列出了应用程序依赖项。部署应用程序后,Heroku会读取此文件并使用 pip install -r命令 安装相应的Python依赖项。

您的github存储库中有一个 requirements.txt ,但缺少诸如SQLAlchemy之类的依赖项,还有一些可能是您在本地安装的。

要保存在本地安装的所有软件包,请打开命令行并转到项目目录,然后(如果使用virtualenv,请先激活该env,而不要使用命令行进入项目目录)并键入:

  

点冻结> requirements.txt

这将保存您在本地安装的所有软件包。

相关问题