Pythonで循環エラー AttributeError: partially initialized module ‘asyncio’ has no attribute ‘run’ (most likely due to a circular import)
Pythonでasyncioのサンプルを動かしてみようとして下記のエラーが出ました。
AttributeError: partially initialized module 'asyncio' has no attribute 'run' (most likely due to a circular import)
原因
下記コピペのソースコードのファイル名を「asyncio.py」としていたためでした。。。『インポートするモジュール名』と『作ったファイル名』を同じにしているためのエラーでした。。。
「asyncio.py」の中でasyncioモジュールをインポートしようとしていたのですが、「import asyncio」は結局、自分自信(asyncio.py)をインポートしていて、結果循環させてしまっていたという単純ミスでした。
対策
単にファイル名を、別の適当な名前に変更すれば良いだけになります。
ソースコード
公式チュートリアルからコピペしました。
Hello World!
import asyncio
async def main():
print('Hello ...')
await asyncio.sleep(1)
print('... World!')
asyncio.run(main())
以上になります。またお会いしましょう