Pythonで循環エラー AttributeError: partially initialized module ‘asyncio’ has no attribute ‘run’ (most likely due to a circular import)

Pythonロゴ

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())

以上になります。またお会いしましょう

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください