必要なライブラリをパッケージ化して数日以内に PyPI にアップロードしようとしていますが、名前空間へのアプローチについて少し確信が持てません。
私は、同様のアプローチを持つ他の点では無関係なプロジェクトをいくつか持っており、それらにすべて同じ名前空間を与えたいと考えていました。例えば:
- ライブラリ 1 の名前空間:
abc.seo
- ライブラリ 2 の名前空間:
abc.ajax
- ライブラリ 3 の名前空間:
abc.ecommerce
- 等
問題は、2 つの別個のパッケージ (卵など) が同じ親名前空間と共存できるかどうかわからないことです。このアプローチは問題がありますか、それとも回避する方法はありますか? 最善のアプローチは何ですか?
ライブラリは一緒にパッケージ化されるべきではありません。それらはあまりにも無関係です。「公式」リリースを作成した後に名前空間の変更が面倒にならないように、アップロードの直前に取得したいと思います。
(NBabc
は本名ではありません。質問に広告を掲載しないようにしたかったのです)
アップデート
setuptoolsがインストールされていない人に親切にするために、次のようにしました。
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
で次のようにしsetup.py
ます。
setup(
...
namespace_packages = ['rollyourown'],
...