Я только начинаю с python и у меня проблемы с пониманием пути поиска загрузок внутри пакета. У меня есть такая структура:
top/ Top-level package
__init__.py Initialize the top package
src/ Subpackage for source files
__init__.py
pkg1/ Source subpackage 1
__init__.py
mod1_1.py
mod1_2.py
...
pkg2/ Source subpackage 2
__init__.py
mod2_1.py
mod2_2.py
...
...
test/ Subpackage for unit testing
__init__.py
pkg1Test/ Tests for subpackage1
__init__.py
testSuite1_1.py
testSuite1_2.py
...
pkg2Test/ Tests for subpackage2
__init__.py
testSuite2_1.py
testSuite2_2.py
...
...
В testSuite1_1 мне нужно импортировать модуль mod1_1.py (и так далее). Какой оператор импорта я должен использовать?
Официальный учебник Python (на docs.python.org, раздел 6.4.2) гласит:
"Если импортированный модуль не найден в текущем пакете (пакет, для которого текущий модуль является подмодулем), оператор import ищет модуль верхнего уровня с заданным именем."
Я понял, что могу использовать (изнутри testSuite1_1.py):
из src.pkg1 import mod1_1
или
import src.pkg1.mod1_1
ни работает. Я прочитал несколько ответов на подобные вопросы здесь, но не смог найти решение.
Редактировать: я изменил имена модулей в соответствии с соглашениями об именах Python. Но я все еще не могу заставить этот простой пример работать.