我正在运行一个使用 Flask 脚本的基本 Flask 应用程序,但是当我将环境从 Cloud 9 移动到我的 Mac 上的本地安装时,它停止工作。我收到以下错误。
ImportError: No module named 'flask_script'
我正在使用virtualenv,并且我已经在环境中安装了flask脚本,并且还尝试重新安装它,如以下有关此主题的帖子中所指出的:
Python 找不到 dateutil.relativedelta
Python 在 virtualenv 下找不到我的 Flask 脚本
导致问题的我的 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 会产生相同的结果。