ValueError: Попытка относительного импорта в пакет не для пакета для тестирования
Я знаю, что это задавали много раз, но почему-то я не могу преодолеть эту ошибку. Вот моя структура каталогов -
project/
pkg/
__init__.py
subpackage1/
script1.py
__init__.py
subpackage2/
script2.py
__init__.py
script2.py имеет:
class myclass:
def myfunction:
script1.py имеет
from ..subpackage2 import script2
Я также пробовал
from ..subpackage2 import myclass
И это дает мне: ValueError: Попытка относительного импорта в не-пакет
Любая помощь будет действительно оценена.
Ответы
Ответ 1
Этот ответ объясняет, что происходит: fooobar.com/info/12682/...
Вероятно, вы запускаете script1.py из каталога subpackage1/.
Измените свой импорт как from subpackage2 import script2
, вернитесь в каталог pkg/, затем запустите python -m subpackage1.script1
.