[英]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.