Я собираюсь упаковать и загрузить библиотеку, которая у меня есть, в PyPI в ближайшие несколько дней, но я немного не уверен в своем подходе к пространству имен.
У меня есть несколько не связанных друг с другом проектов с похожим подходом, и я хотел дать им одно и то же пространство имен. Например:
abc.seo
abc.ajax
abc.ecommerce
проблема в том, что я не уверен, возможно ли сосуществование двух отдельных пакетов (например, яиц) с одним и тем же родительским пространством имен. Проблемат ли такой подход, или есть способ обойти это? Какой лучший подход?
Библиотеки не должны быть упакованы вместе, они слишком не связаны между собой. Я хотел бы исправить это перед загрузкой, чтобы избежать болезненных изменений пространства имен после выпуска "официального" выпуска.
(NB abc
- не настоящее имя, я хотел, чтобы мой вопрос был свободен от реклама)
ОБНОВЛЕНИЕ
Я сделал следующее, чтобы быть вежливым для людей, у которых не установлены инструменты установки:
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
Со следующим текстом в setup.py
:
setup(
...
namespace_packages = ['rollyourown'],
...