公式Flask documentationはflask run
またはpython -m flask run
を使用します。両方ともFLASK_APP
が必要です。私が見た他のほとんどのチュートリアルでは、単にpython app.py
を使用しています。これは余分なステップを必要とせず、今まで私にとってうまくいきました。Flaskアプリをローカルで実行する正規の方法
flask run
の利点は何ですか?私は、その代替案が後で理解できないバグにつながっていないことを確認したい。
公式Flask documentationはflask run
またはpython -m flask run
を使用します。両方ともFLASK_APP
が必要です。私が見た他のほとんどのチュートリアルでは、単にpython app.py
を使用しています。これは余分なステップを必要とせず、今まで私にとってうまくいきました。Flaskアプリをローカルで実行する正規の方法
flask run
の利点は何ですか?私は、その代替案が後で理解できないバグにつながっていないことを確認したい。
あなたがそうしないようにしていない場合は、flask run
を使用して開発サーバーを実行します。これは今後の対応です。 docsから言い換え:
フラスコ0.11から
flask
コマンドが推奨されます以降。その理由は、devサーバーのリロードメカニズムの仕組みによって、app.run
を使用したときに奇妙な副作用があります(特定のコードを2回実行したり、構文エラーやインポートエラーが発生したときにメッセージがなくクラッシュするなど)。
flask
コマンドは、アプリケーションをインポートしてサーバーを実行するコードとアプリケーションを区切ります。 flask.run
メソッドは依然として存在します。なぜなら、これらの問題のどれも重大ではなく、紛らわしいからです。将来、完全に廃止される可能性があります。
run
コマンドの他に、別の拡張機能やスクリプトの代わりに、アプリコンテキスト内で実行できる他の便利なコマンドを追加する機能もあります。
同じ警告が引き続き適用されます。本番環境で開発サーバーを実行しないでください。
ほとんどのチュートリアルは、「フラスコ」エントリーポイントが追加される前に書かれました。これを使うと、あなたのコードに 'app.run'呼び出しを追加する必要がなくなります。 – dirn
最新のバージョンのFlaskを使用している場合は、フラスコのエントリポイントを使用します。 –
@dirnでも、[app as a package](http://flask.pocoo.org/docs/0.11/patterns/packages/)を整理するとどうなりますか?ドキュメントに従って、実行スクリプトに 'app.run()'がまだ必要ないのですか?それは私が持っているもので、私は 'python run.py'でスクリプトを呼び出しています。 – bongbang