pythonの初心者です。
普段はNuxt.Jsを用いてフロントエンドの開発を行っています。
来年のプロジェクトで、pythonを使用したDB構築を考えているのですが、
社内に詳しい方がおらず手探りの状態です。
なにがやりたいのかというと、
Responderを用いて最終的には、DBを構築して、
フロントエンドで叩けるようなRestAPIを作成したいと思っています。
まずは簡単なものからと思い下記のサイトを参考にresponderを使用してViewの操作というものに挑戦してみようと思い、jupyternotebookを使用してコードを作成したのですが、エラーとなっている状態です。
参考サイト
error
1--------------------------------------------------------------------------- 2RuntimeError Traceback (most recent call last) 3<ipython-input-4-d169c68c61c2> in <module> 4 5 resp.text = 'hello, world!' 5 6 if __name__ == '__main__': 6----> 7 api.run() 7 8~\anaconda3\envs\RestAPItest\lib\site-packages\responder\api.py in run(self, **kwargs) 9 357 if "debug" not in kwargs: 10 358 kwargs.update({"debug": self.debug}) 11--> 359 self.serve(**kwargs) 12 360 13 361 async def __call__(self, scope, receive, send): 14 15~\anaconda3\envs\RestAPItest\lib\site-packages\responder\api.py in serve(self, address, port, debug, **options) 16 352 uvicorn.run(self, host=address, port=port, debug=debug, **options) 17 353 18--> 354 spawn() 19 355 20 356 def run(self, **kwargs): 21 22~\anaconda3\envs\RestAPItest\lib\site-packages\responder\api.py in spawn() 23 350 24 351 def spawn(): 25--> 352 uvicorn.run(self, host=address, port=port, debug=debug, **options) 26 353 27 354 spawn() 28 29~\anaconda3\envs\RestAPItest\lib\site-packages\uvicorn\main.py in run(app, **kwargs) 30 344 supervisor.run() 31 345 else: 32--> 346 server.run() 33 347 34 348 35 36~\anaconda3\envs\RestAPItest\lib\site-packages\uvicorn\main.py in run(self, sockets) 37 372 self.config.setup_event_loop() 38 373 loop = asyncio.get_event_loop() 39--> 374 loop.run_until_complete(self.serve(sockets=sockets)) 40 375 41 376 async def serve(self, sockets=None): 42 43~\anaconda3\envs\RestAPItest\lib\asyncio\base_events.py in run_until_complete(self, future) 44 590 """ 45 591 self._check_closed() 46--> 592 self._check_running() 47 593 48 594 new_task = not futures.isfuture(future) 49 50~\anaconda3\envs\RestAPItest\lib\asyncio\base_events.py in _check_running(self) 51 550 def _check_running(self): 52 551 if self.is_running(): 53--> 552 raise RuntimeError('This event loop is already running') 54 553 if events._get_running_loop() is not None: 55 554 raise RuntimeError( 56 57RuntimeError: This event loop is already running
コード自体は参考サイトのものをそのまま使用し、下記のように作成し
実行しました。
python
1import responder 2api = responder.API() 3@api.route('/') 4def hello_world(req, resp): 5 resp.text = 'hello, world!' 6if __name__ == '__main__': 7 api.run()
もちろんresponderがインストールされていないので、pip install responderは行っています。
Anaconda を使用し、そこでjupyterNotebookを使用しております。
pythonはつい先ほどインストールしましたので、最新版です。
アウトプットとしては下記のものを想定しており、
Uvicorn のhttpをクリックすると'hello world!'が表示される予定でおります。
output
1INFO: Started server process [6440] 2INFO: Waiting for application startup. 3INFO: Uvicorn running on http://127.0.0.1:5042 (Press CTRL+C to quit)
どなたかご教示いただけませんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/29 04:22