前提
Pythonでイベント駆動型プログラムの勉強をしていたところ,タイトルのエラーが発生しました.
コードはJupyter Notebookで書いています.
下記のプログラムに限らず,asyncを使用するとエラーが出てしまいます.
実現したいこと
コードが正常に作動するようにしたいです.
発生している問題・エラーメッセージ
RuntimeError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_21660/3267118540.py in <module> 17 if __name__ == "__main__": 18 loop = asyncio.get_event_loop() ---> 19 loop.run_until_complete(main()) 20 loop.close() ~\anaconda3\lib\asyncio\base_events.py in run_until_complete(self, future) 616 """ 617 self._check_closed() --> 618 self._check_running() 619 620 new_task = not futures.isfuture(future) ~\anaconda3\lib\asyncio\base_events.py in _check_running(self) 576 def _check_running(self): 577 if self.is_running(): --> 578 raise RuntimeError('This event loop is already running') 579 if events._get_running_loop() is not None: 580 raise RuntimeError( RuntimeError: This event loop is already running
該当のソースコード
python
1import time 2import random 3import asyncio 4 5async def waiter(name): 6 for _ in range(4): 7 time_to_sleep = random.randint(1,3)/4 8 await asyncio.sleep(time_to_sleep) 9 print( 10 "{}は{}秒待ちました" 11 "".format(name, time_to_sleep) 12 ) 13 14async def main(): 15 await asyncio.wait([waiter("foo"), waiter("bar")]) 16 17if __name__ == "__main__": 18 loop = asyncio.get_event_loop() 19 loop.run_until_complete(main()) 20 loop.close()
試したこと
ネットで調べたり,当サイトで質問を検索してみましたが解決できませんでした.
補足情報(FW/ツールのバージョンなど)
下記のサイトを参考にしました.
https://qiita.com/y518gaku/items/d82100cff2936dd44011
Python 3
Jupyter Notebook

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/25 12:38