Предположим, что следующая структура пакета со встроенным кодом:
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? Я пытаюсь преобразовать относительный импорт в абсолютный импорт!
Python 2 Repl.It
Python 3 Repl.It