web-dev-qa-db-ja.com

Flask「エラー:指定されたファイル/パスは存在しないようです」ファイルは存在しますが

私が使う export FLASK_APP=flask_appしてからflask runしかし、エラーが表示されます。

エラー:指定されたファイル/パス(flask_app)は存在しないようです。パスが正しいことを確認してください。アプリがPYTHONPATHにない場合、拡張子が.pyであることを確認します

ただし、ファイルdoesは存在し、現在の作業ディレクトリにあります。ファイルへの完全なパスを使用しても機能しません。

16
PDiracDelta

この状況は、ターミナルに伝搬されない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日)。

24
PDiracDelta

エラーメッセージは、flaskバージョン0.xから環境変数を使用して実行する場合、flaskバージョン1.xにアップグレードするだけです。

pip install -U flask
16
Chayapol

コードのどこかにimportステートメントがないと、このエラーが表示されます。私の見解では、実際のインポートエラーが表示されないという事実は、@ PDiracDeltaの answer で説明されているバグです。 (Update:Flask 0.13で修正されるようです。)

私のために働く回避策は、コマンドラインでアプリを指定することです。引用したエラーメッセージから、アプリは「flask_app」と呼ばれるように見えるので、次のように入力します。

python flask_app.py

これは実際にアプリを実行しません(if __name__ == '__main__'または何か)が、インポートエラーが表示されます。

7
Michael Scheper

このメッセージは、コマンドラインでflask runを発行した場合に表示されます。代わりに、python -m flask runおよびexport FLASK_APP変数を設定した後、export FLASK_ENVを使用します。アプリケーションファクトリを作成するときにFlaskチュートリアルを実行しているときにこの問題に遭遇しました。この命令では、flask runpython -mで始めるように指定されていません。

3
y2knoproblem

次の手順に従ってください。

  1. [pip install --editableを既に実行していることを確認してください。 ]。ここで、「。」アプリがインストールされているディレクトリの場所を表します。例(flask_app)

  2. pythonコマンドラインを開きますpythonインタプリタ

  3. flask appが存在する場合、詳細なエラーが表示されます。そのエラーを修正してください。

同じ問題にぶつかり、上記の手順を実行したところ、コードの実行にエラーがあることがわかりました。通訳者はコンパイルエラーを表示しています。

1
Gopal Prasad

Werkzeugバージョンは、フラスコには適していません。この問題に対処するには、werkzeugをアップグレードする必要があります:$pip install werkzeug --upgrade

0
Eds_k

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_を実行します

0
X.X

Y2knoproblemと同様に、flask公式チュートリアルに従っていたので、アプリケーションファクトリとvenv仮想環境を使用しました。

python -m flask run

しかし、これは、application.pyで 'flask run'を実行したときのように、外部からアクセス可能なアドレスではなく、localhostにサービスを提供するIDEの問題を引き起こしました。

指定することでこの作業を行うことができました

export FLASK_APP=__init__.py

の代わりに

export FLASK_APP=myapp
0
user2903735

これには多くの理由が考えられます。

python2 vs python3 問題、

pip2 install Flask vs pip3 install Flask 問題、

および(venv) virtual environment vs local environment 問題。

私の場合、問題を解決するには次のことをしなければなりませんでした。

  1. python3 -m venv venv

  2. . venv/bin/activate

  3. pip3 install Flask

  4. export FLASK_APP=flask_app

  5. flask run