Pythonでwaitressを用いてflask appを実行してみます。
今回はwaitressを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。また、Flaskもインストールする必要があります。なお、Flaskはバージョン2.2.2をインストールしています。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■flask appを作成する
では、早速waitressを用いてflask appを実行してみますので、まずはflask appを作成します。
■コード
from flask import Flask def create_app(): app = Flask(__name__) @app.route('/') def hello_world(): return 'こんにちは' return app
今回は、「from import」でflaskモジュールのFlaskを呼び出します。その後、def文を用いてcreate_appという関数を定義します。定義後、この関数が呼び出された時の処理を記述していきます。まずは、appという変数を定義し、その中で「Flask(__name__)」を用いてFlaskのインスタンスを作成します。
作成後、route()デコレータを用いて’/’というルートを作成し、その後、hello_world()という関数を定義します。定義後、URLと関数を関連付けます。なお、hello_world()という関数が呼び出された時に実行される処理としては、returnとして日本語の文字列を返すというものです。
このスクリプトを「w_server.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存します。
■waitressを用いてflask appを実行する
保存後、コマンドプロンプトを起動します。
waitress-serve --port 8080 --call "w_server:create_app"
起動後、上記のコマンドを入力し、Enterキーを押します。–portオプションで「TCP port”8080”」を指定し、–callオプションで、w_server.pyのcreate_app()オブジェクトを指定し呼び出し、Flask アプリケーションを取得します。
INFO:waitress:Serving on http://0.0.0.0:8080
Enterキーを押すと、上記のメッセージが出力されます。出力後、Webブラウザを起動し、アドレスバーに、出力された「http://0.0.0.0:8080」を入力しアクセスします。
このサイトにアクセスできませんのウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。 ERR_ADDRESS_INVALIDhttp://0.0.0.0:8080/
アクセスを試みましたが、「このサイトにアクセスできません」と表示され、flask appの実行を確認することができませんでした。
http://127.0.0.1:8080
確認できませんでしたが、ループバックアドレス(コンピュータ自身を示すIPアドレス),ローカルホストとTCPプロトコルが使うポート番号”8080″を入力してみます。
入力すると、今度は作成したflask appを表示させることができました。
コメント