包装常见的python命名空间

栏目: Python · 发布时间: 7年前

内容简介:http://stackoverflow.com/questions/5064951/packaging-common-python-namespaces

我想在未来几天打包和上传一个我已经到PyPI的库,但是我对某个命名空间的方法有点不确定.

我有一些其他不相关的项目,具有类似的方法,并希望给他们所有相同的命名空间.例如:

> Library 1命名空间:abc.seo

> Library 2命名空间:abc.ajax

> Library 3命名空间:abc.ecommerce

>等

问题是我不确定两个单独的包(例如,蛋)是否可能与同一父命名空间共存.这个方法是有问题的,还是有办法呢?最好的方法是什么?

图书馆不应该打包在一起,它们是无关紧要的.我希望在上传之前正确获取它,以避免在进行“官方”发布之后痛苦的命名空间更改.

(NB abc不是真名,我想让我的问题免于广告)

UPDATE

我去了以下,对没有安装 工具 的人来说很好:

try:
    __import__('pkg_resources').declare_namespace(__name__)
except ImportError:
    __path__ = __import__('pkgutil').extend_path(__path__, __name__)

在setup.py中执行以下操作:

setup(
    ...
    namespace_packages = ['rollyourown'],
    ...

在每个项目基础目录中,创建以下结构:

/setup.py
/abc/__init__.py
/abc/seo/

/abc/__init__.py包含:

__import__('pkg_resources').declare_namespace(__name__)

setup.py包含:

setup(...,
    packages: ['abc', 'abc.seo'],
    namespace_packages = ['abc']
    ...
)

参考文献: namespace packages .

http://stackoverflow.com/questions/5064951/packaging-common-python-namespaces


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据之眼

大数据之眼

[德]尤夫娜·霍夫施泰特 / 陈巍 / 浙江文艺出版社 / 2018-5-7 / 68.00元

德国狂销10万册的大数据商业应用畅销书,经典之作《大数据时代》的姊妹篇。 该书在德语国家促发了一场关于大数据,人工智能与人的关系建构的大讨论。 德国大数据与人工智能领域权威,首度为中国读者亲笔作序。 在后大数据时代,如何维护自己的隐私,如何巧妙利用资源获得更多金钱? 一部对大数据发展所产生的问题进行思考和规避的先知式作品。 当智能机器欲“优化”我们,入侵我们的生活,统......一起来看看 《大数据之眼》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具