(Python 3) Проблема с импортом подпакета того же уровня из другого подпакета - PullRequest
0 голосов
/ 06 августа 2020

Мой пакет выглядит так:

example/
       launcher.py
          package/
                 __init__.py
                          a/
                            __init__.py
                            sub.py
                          b/
                            __init__.py
                            sub.py
                            m.py
               
   

launcher.py запускает m.py, который содержит функцию, которая вызывает a.sub.fun c ().

Пакет __init___.py содержит импорт, в то время как b содержит следующее:

import os,sys
sys.path.append(os.path.join(os.path.abspath("package"),"a"))
print(sys.path)
import a

Запуск launcher.py приводит к:

File "C:\Users\m\Desktop\example\package\b\__init__.py", line 4, in <module>
import a
ModuleNotFoundError: No module named 'a'

Я также пробовал from .. import a (вместо добавления sys.path), но он работает только в самом __init___.py (при вызове там a.sub.fun c ()). Я прочитал много ответов на подобные проблемы, но до сих пор не могу это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...