フラスコ スクリプトを使用する基本的な Flask アプリケーションを実行していますが、環境を Cloud 9 から Mac のローカル インストールに移動すると、動作しなくなります。次のエラーが表示されます。
ImportError: No module named 'flask_script'
私はvirtualenvを使用しており、環境にフラスコスクリプトをインストールしました。また、このトピックに関する次の投稿で指摘されているように、再インストールを試みました:
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 を使用しても同じ結果が得られます。