ホームページ >バックエンド開発 >Python チュートリアル >Python で循環インポート エラーを解決するにはどうすればよいですか?
Python での循環インポート エラーへの対処
Python では、複数のモジュールが相互にインポートしようとすると、循環インポートが発生します。これにより、「ImportError: Cannot import name X」または「AttributeError: ... (循環インポートが原因である可能性が高い)」などのエラーが発生する可能性があります。
たとえば、次のことを考慮してください。 code:
main.py:
from entity import Ent
entity.py:
from physics import Physics class Ent: ...
physics.py:
from entity import Ent class Physics: ...
を実行するとmain.py を実行すると、次のエラーが発生します:
Traceback (most recent call last): File "main.py", line 2, in <module> from entity import Ent File ".../entity.py", line 5, in <module> from physics import Physics File ".../physics.py", line 2, in <module> from entity import Ent ImportError: cannot import name Ent
エラーの原因は次のとおりです。 Physicals.py とentity.py の間の循環依存関係。 Physics.py は、すでに初期化中のentity.pyをインポートしようとします。
この問題を解決するには、entity.pyモジュールからphysics.pyへの依存関係を削除する必要があります。たとえば、entity.py を次のように変更できます。
entity.py:
# Do not import physics.py class Ent: ...
これで、main.py を実行するときにエラーが発生しなくなります。
循環インポートをさらに理解するには、脚注に記載されているリソースを参照してください。
以上がPython で循環インポート エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。