私が使う export FLASK_APP=flask_app
してからflask run
しかし、エラーが表示されます。
エラー:指定されたファイル/パス(flask_app)は存在しないようです。パスが正しいことを確認してください。アプリがPYTHONPATHにない場合、拡張子が.pyであることを確認します
ただし、ファイルdoesは存在し、現在の作業ディレクトリにあります。ファイルへの完全なパスを使用しても機能しません。
この状況は、ターミナルに伝搬されないImportError
がある場合に発生します。無効なインポートステートメントについてファイルのallを確認し、修正すると、エラーが消えます。
EDIT 2017-04-02:@Michaelは、「OLD MESSAGE PART 2」タグの下に配置された参照が正しくないことを指摘しました。この間違いがどのように発生したのかはわかりませんが、 Flask Github が参照している コミット に関する問題を修正したはずの最新の投稿を見つけました2016年12月30日に。おそらくそのとき、私は実際に古いflaskバージョンを実行していました。
OLD MESSAGE PART 2:この問題は Flask Github で説明されていますが、実際に修正されたかどうかは不明ですが、Flaskそのページに記載されている修正のマージ後(2016年8月12日)。
エラーメッセージは、flaskバージョン0.xから環境変数を使用して実行する場合、flaskバージョン1.xにアップグレードするだけです。
pip install -U flask
コードのどこかにimport
ステートメントがないと、このエラーが表示されます。私の見解では、実際のインポートエラーが表示されないという事実は、@ PDiracDeltaの answer で説明されているバグです。 (Update:Flask 0.13で修正されるようです。)
私のために働く回避策は、コマンドラインでアプリを指定することです。引用したエラーメッセージから、アプリは「flask_app」と呼ばれるように見えるので、次のように入力します。
python flask_app.py
これは実際にアプリを実行しません(if __name__ == '__main__'
または何か)が、インポートエラーが表示されます。
このメッセージは、コマンドラインでflask run
を発行した場合に表示されます。代わりに、python -m flask run
およびexport FLASK_APP
変数を設定した後、export FLASK_ENV
を使用します。アプリケーションファクトリを作成するときにFlaskチュートリアルを実行しているときにこの問題に遭遇しました。この命令では、flask run
をpython -m
で始めるように指定されていません。
次の手順に従ってください。
[pip install --editableを既に実行していることを確認してください。 ]。ここで、「。」アプリがインストールされているディレクトリの場所を表します。例(flask_app)
pythonコマンドラインを開きますpythonインタプリタ
flask appが存在する場合、詳細なエラーが表示されます。そのエラーを修正してください。
同じ問題にぶつかり、上記の手順を実行したところ、コードの実行にエラーがあることがわかりました。通訳者はコンパイルエラーを表示しています。
Werkzeugバージョンは、フラスコには適していません。この問題に対処するには、werkzeugをアップグレードする必要があります:$pip install werkzeug --upgrade
flaskチュートリアル: http://flask.pocoo.org/docs/0.12/tutorial/dbinit/ のステップ5でも同じ問題です。
私がしたことは
1)仮想環境内で、_pip uninstall flaskr
_でパッケージをアンインストールします
2)仮想環境を非アクティブ化してから、deactivate
、次に_source bin/activate
_で再アクティブ化する
3)_pip install --editable .
_でフラスコパッケージを再インストールします
4)_export FLASK_APP=flaskr
_によってenv変数をリセットします
5)ブラウザで_flask run
_を実行し、localhost:5000を押すと、500(ファイルが見つかりません)エラーの代わりに404(ビューなし、予想どおり)エラーが生成されます。
または、init_db()
関数を期待どおりにトリガーする_flask initdb
_を実行します
Y2knoproblemと同様に、flask公式チュートリアルに従っていたので、アプリケーションファクトリとvenv仮想環境を使用しました。
python -m flask run
しかし、これは、application.pyで 'flask run'を実行したときのように、外部からアクセス可能なアドレスではなく、localhostにサービスを提供するIDEの問題を引き起こしました。
指定することでこの作業を行うことができました
export FLASK_APP=__init__.py
の代わりに
export FLASK_APP=myapp
これには多くの理由が考えられます。
python2
vs python3
問題、
pip2 install Flask
vs pip3 install Flask
問題、
および(venv) virtual environment
vs local environment
問題。
私の場合、問題を解決するには次のことをしなければなりませんでした。
python3 -m venv venv
. venv/bin/activate
pip3 install Flask
export FLASK_APP=flask_app
flask run