web-dev-qa-db-ja.com

Flaskの実行中の警告メッセージ

コマンドラインからFlaskコードを実行しているときに、警告が表示されます。

Serving Flask app "hello_flask" (lazy loading)
* Environment: production
  WARNING: Do not use the development server in a production environment.
  Use a production WSGI server instead.

これは何を意味するのでしょうか?

44
Harshit Satya

Flaskドキュメント に記載されているとおり:

軽量で使いやすい一方で、Flaskの組み込みサーバーは拡張性が低く、デフォルトでは一度に1つのリクエストのみを処理するため、実稼働には適していません。

Webアプリケーションが複数のユーザーからの複数の同時リクエストを処理すると予想される場合、Flaskは、開発サーバーがこれを実行しないことを警告します(デフォルト)。 Web /アプリケーションサーバーとして機能する Webサーバーゲートウェイインターフェース(WSGI)サーバーそれぞれの詳細な手順が記載された展開ドキュメントに多数の可能性が記載されています )を使用することをお勧めしますFlaskを呼び出してリクエストを処理します。

40
Arthur Dent

Geventを試してください:

from flask import Flask
from gevent.pywsgi import WSGIServer

app = Flask(__name__)

@app.route('/api', methods=['GET'])
def index():
    return "Hello, World!"

if __== '__main__':
    # Debug/Development
    # app.run(debug=True, Host="0.0.0.0", port="5000")
    # Production
    http_server = WSGIServer(('', 5000), app)
    http_server.serve_forever()

注:pip install geventを使用してgeventをインストールします

17
lashgar

Flask 1.xの時点で、デフォルト環境は実稼働に設定されています。開発環境を使用するには、。flaskenvというファイルを作成し、プロジェクトディレクトリの最上位(ルート)に保存します。 .flaskenvファイルでFLASK_ENV = developmentを設定します。 FLASK_APP = myapp.pyを保存することもできます。

例:

myproject/.flaskenv

FLASK_APP=myapp.py
FLASK_ENV=development

次に、コマンドラインで次のコマンドを実行します。flask runこれで警告が処理されます。

13
Christian Hur

「本番環境では開発サーバーを使用しないでください」を削除します。警告、実行:

エクスポートFLASK_ENV = development

flask runの前。

5

flask runと入力してから、このメッセージが表示された後、これらの問題を解決しました。

1-このテキストをmyproject/.flaskenvに追加します。
FLASK_APP = myapp.py
FLASK_ENV =開発
また、このファイルを使用するには、「pip3 install python-dotenv」と入力する必要があります。

2-プロジェクトフォルダーに、使用するターミナルflaskコマンドを入力します。
flask-3の実行

1
gok han

私はflaskをかなり長い間使用していますが、今日、突然この警告が表示されました。私はこれを見つけました。

here で述べたように、flaskバージョン1.0では、flaskアプリが実行される環境はデフォルトで実稼働に設定されています。古いflaskバージョンでアプリを実行する場合、この警告は表示されません。

バージョン1.0の新機能

Changelog

Flaskアプリが実行される環境は、FLASK_ENV環境変数によって設定されます。設定されていない場合、デフォルトで実動になります。他の認識されている環境は開発です。 Flaskおよび拡張機能は、環境に基づいて動作を有効にすることを選択できます。

1
Shashank Gupta

構成または構成では、次のコードを追加できます:ENV = ""

このDEBUG = Trueのようにtrueにデバッグセットを追加しようとする場合と同じ

詳細については、これを確認できます http://flask.pocoo.org/docs/1.0/config/#ENV

1
Arian saputra