Pythonでrobynを用いてWebサーバーを作成し実行する

スポンサーリンク

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:Starting server at 0.0.0.0:5000 
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サーバーを実行する件は一旦終了し、エラーの解消方法があれば、追記で情報を掲載するかもしれない。

コメント

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