Pythonでrobynを用いてWebサーバーを作成し実行してみます。
今回はrobynを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■robynを用いてWebサーバーを作成する
では、早速robynを用いてWebサーバーを作成しますので、そのためにスクリプトを書いていきます。
■コード
from robyn import Robyn app = Robyn(__file__) @app.get("/") async def h(request): return "こんにちは、世界!" app.start(port=5000)
「from import」を用いてrobynモジュールのRobynを呼び出します。その後、「app = Robyn(__file__)」でappオブジェクトを作成します。
作成後、app内にあるgetというデコレータで(”/”)の関数を呼び出すように設定します。その後、async defを用いて、hという関数を定義し、括弧内にはパラメータとして、オプションのパラメータのrequestを設定する。関数が呼び出され、返されるreturnとして今回は日本語の文字列を設定します。
最後にapp.start()を用いてWebサーバーを起動させる。括弧内には引数,パラメータとしてポートを5000とし、この情報を渡す。
■実行・検証
このスクリプトを「app.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
INFO:robyn:[92mStarting server at 0.0.0.0:5000 [0m Traceback (most recent call last): File "app.py", line 9, in app.start(port=5000, url="0.0.0.0") File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\robyn\__init__.py", line 164, in start process_pool = init_processpool(socket) File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\robyn\__init__.py", line 127, in init_processpool self.headers, AttributeError: 'Robyn' object has no attribute 'headers'
実行してみると、AttributeErrorというエラーが発生した。このエラーを解消するために試行錯誤をしてみたが、まったく解消できなかった。そこでGithubページでrobynを配布しているページを確認すると、問題として「[BUG] Get Stared failed on Windows」というものが挙げられていた。この問題と同じ内容のことが今回発生しており、未だにエラーの解消には至っていない模様である。なので、今回はこれでWebサーバーを実行する件は一旦終了し、エラーの解消方法があれば、追記で情報を掲載するかもしれない。
コメント