У меня есть несколько пакетов пространства имен. Я следовал плану, который набросан в PEP420 и документах . Они распределены по нескольким репозиториям, которые иногда объединяют их в более глубоком пространстве имен.
Настройка
Например, у нас может быть структура ниже.
Repo1
/ns_example/src/ns/example/__init__.py
/ns_example/setup.py
/ns_another/src/ns/another/__init__.py
/ns_another/setup.py
Repo2
/ns_deep/src/ns/deep/one/__init__.py
/ns_example/setup.py
/ns_deep/src/ns/deep/two/__init__.py
/ns_example/setup.py
В setup.py
я создаю разные пакеты. Ниже я указываю два разных случая из приведенного выше примера.
from setuptools import setup, find_namespace_packages
import datetime
setup(
name="ns_example",
version=datetime.datetime.now().strftime('%Y.%m.%d.%H%M'),
description='Namespace example',
packages=find_namespace_packages(where='src', include=['ns.*']),
)
from setuptools import setup, find_namespace_packages
import datetime
setup(
name="ns_deep_one",
version=datetime.datetime.now().strftime('%Y.%m.%d.%H%M'),
description='Namespace example',
packages=find_namespace_packages(where='src', include=['ns.deep.*']),
)
Проблема
Все это работает, и я могу установить их с pip install ns_example
или pip install ns_deep_one
, но теперь я хочу иметь возможность сделать pip install ns
, что бы установить все пакеты в пространстве имен. Это, однако, не похоже на работу. Почему?