Pythonでwaitressを用いてflask appを実行する

スポンサーリンク

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」を入力しアクセスします。

このサイトにアクセスできません


http://0.0.0.0:8080/
のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。 ERR_ADDRESS_INVALID

アクセスを試みましたが、「このサイトにアクセスできません」と表示され、flask appの実行を確認することができませんでした。

http://127.0.0.1:8080

確認できませんでしたが、ループバックアドレス(コンピュータ自身を示すIPアドレス),ローカルホストとTCPプロトコルが使うポート番号”8080″を入力してみます。

入力すると、今度は作成したflask appを表示させることができました。

コメント

タイトルとURLをコピーしました