[英]Why does this circular import fail in Python 2 but not in Python 3?
假設具有以下代碼內聯的包結構:
main.py
from a.b import c
a/__init__.py
a/b/__init__.py
a/b/c.py
from a.b import d
a/b/d.py
from a.b import c
python2 main.py
給了我一個導入錯誤:
Traceback (most recent call last):
File "main.py", line 1, in <module>
from a.b import c
File "/home/runner/a/b/c.py", line 1, in <module>
from a.b import d
File "/home/runner/a/b/d.py", line 1, in <module>
from a.b import c
ImportError: cannot import name c
但是python3 main.py
工作正常。 有誰知道發生了什么? 如何在 Python 2 中解決此問題? 我正在嘗試將相對導入轉換為絕對導入!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.