упаковка общих пространств имен python

Я собираюсь упаковать и загрузить библиотеку, которая у меня есть, в PyPI в ближайшие несколько дней, но я немного не уверен в своем подходе к пространству имен.

У меня есть несколько не связанных друг с другом проектов с похожим подходом, и я хотел дать им одно и то же пространство имен. Например:

  • Пространство имен библиотеки 1: abc.seo
  • Пространство имен библиотеки 2: abc.ajax
  • Пространство имен библиотеки 3: 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'],
    ...
16
задан Will Hardy 22 February 2011 в 22:01
поделиться