我正在运行一个使用烧瓶脚本的基本Flask应用程序,但是当我将环境从Cloud 9移动到Mac上的本地安装时,它就会停止工作。我收到以下错误。
ImportError: No module named 'flask_script'
我正在使用virtualenv,我在环境中安装了烧瓶脚本,并尝试重新安装它,如以下关于此主题的帖子所指出:
Python cannot find dateutil.relativedelta
Python can't find my Flask script under virtualenv
导致问题的我的manage.py看起来像这样:
import os, sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from flask_script import Manager, Server
from flask.ext.migrate import MigrateCommand
from flask_app import app
manager = Manager(app)
manager.add_command('db', MigrateCommand)
manager.add_command('runserver', Server(
use_debugger = True,
use_reloader = True,
host = os.getenv('IP', '0.0.0.0'),
port = int(os.getenv('PORT', 5000))
)
)
if __name__ == "__main__":
manager.run()
当我跑步时
pip freeze
看看安装了什么,Flask_Script显示:
alembic==0.8.7
click==6.6
Flask==0.11.1
Flask-Markdown==0.3
Flask-Migrate==2.0.0
Flask-Script==2.0.5
Flask-SQLAlchemy==2.1
Flask-Uploads==0.2.1
Flask-WTF==0.12
itsdangerous==0.24
Jinja2==2.8
lxml==3.6.0
Mako==1.0.4
Markdown==2.6.6
MarkupSafe==0.23
py-bcrypt==0.4
pymongo==3.2.2
PyMySQL==0.7.6
python-docx==0.8.6
python-editor==1.0.1
python-slugify==1.2.1
requests==2.10.0
SQLAlchemy==1.0.15
Unidecode==0.4.19
Werkzeug==0.11.11
WTForms==2.1
烧瓶脚本文档说它应该像这样导入:
from flask.ext.script import Manager
据我了解,这是一种较旧的方法,由我正在使用的方法取代。但无论如何,使用flask.ext.script会产生相同的结果。
答案 0 :(得分:0)
您可能遇到循环依赖问题。
看一下这个答案:https://stackoverflow.com/a/19467445/1570104很好地解释了这种问题。
答案 1 :(得分:0)