打包常见的python名称空间
我希望在接下来的几天中将必须打包的库打包并上载到PyPI,但是我不确定我对命名空间的使用方式。
我有一些其他的,不相关的项目,它们具有相似的方法,并希望为它们提供相同的名称空间。例如:
- 库1名称空间:
abc.seo
- 库2名称空间:
abc.ajax
- 库3名称空间:
abc.ecommerce
- 等等
问题是我不确定两个单独的程序包(例如鸡蛋)是否可以与同一个父名称空间共存。这种方法有问题吗,还是可以解决?最好的方法是什么?
这些库不应打包在一起,因为它们太不相关了。我想在上传之前正确处理它,以避免在进行“正式”发布后痛苦的命名空间更改。
(NBabc
不是真实的名字,我希望我的问题不包含广告)
更新
我采取了以下措施,以使没有安装setuptools的人们感到高兴:
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
__path__ = __import__('pkgutil').extend_path(__path__, __name__)
在以下内容中setup.py
:
setup(
...
namespace_packages = ['rollyourown'],
...