Я имею в виду относительный импорт, например: < /p>
Код: Выделить всё
from ..mypackage import mymodule
from ..mypackage.mymodule import mymethod
from .. import mypackage
< /code>
Только самые простые случаи относительного импорта действительно работают. Все, что еще приводит к сообщению об ошибке: < /p>
ImportError: attempted relative import with no known parent package
Существует сообщение SO, Относительный импорт для в миллиардный раз, который решает эту проблему. Основная статья плюс 15 ответов и 36 комментариев указывают на то, что эта проблема существует уже давно. Многие очень умные люди предлагали экзотические объяснения и громоздкие решения такой простой проблемы.
Похоже, что проблема вращается вокруг того, где, по мнению Python, находится импортирующий модуль в файловой системе в момент его попытки выполнения. импортные декларации. Я считаю, что Python должен иметь возможность выяснить, есть ли он и где именно он находится в иерархии файлов. Я ищу простой способ заставить операторы импорта работать должным образом, независимо от того, вызывается ли импортирующий модуль из другого модуля, или он запускается из интерпретатора, или из IDE, например Pycharm.
Подробнее здесь: https://stackoverflow.com/questions/723 ... lionth-one