У меня есть несколько пакетов, которые более или менее независимы (см. Apack и bpack ниже). Я хотел бы, чтобы они все доступны, как это:Как организовать мои пакеты под некоторым корневым пакетом в PyPi?
import mycompany.apack.somemodule
import mycompany.bpack.somemodule
Поскольку они независимы у меня есть отдельный setup.py для каждого из них, чтобы развернуть их PyPi и, следовательно, различный цикл выпуска.
Вопрос: Возможно ли иметь подпакеты корневого пакета с разделенной процедурой освобождения (каждый подпакет имеет собственную setup.py)? Как это сделать?
Вот что я пытался, но не смог заставить его работать. Моего текущий setup.py выглядит следующим образом:
from distutils.core import setup
setup(
name='mycompany-apack',
version='0.1',
packages=['mycompany.apack'],
license='GPLv3')
Этого setup.py создает следующую структуру в папке Расс-пакетах:
mycompany
apack
__init__.py
somemodule.py
bpack
__init__.py
somemodule.py
Теперь, так как мой MyCompany не имеет __ инициализация __.py (это мое предположение) я получаю следующее сообщение об ошибке:
>>> import mycompany.apack.somemodule
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named mycompany.apack.somemodule
И здесь очень похож вопрос, если не то же самое: http://stackoverflow.com/questions/5064951/packaging-common-python-namespaces – vladimir