包装常见的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


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

查看所有标签

猜你喜欢:

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

算法(第4版)

算法(第4版)

塞奇威克 (Robert Sedgewick)、韦恩 (Kevin Wayne) / 谢路云 / 人民邮电出版社 / 2012-10-1 / 99.00元

本书全面讲述算法和数据结构的必备知识,具有以下几大特色。  算法领域的经典参考书 Sedgewick畅销著作的最新版,反映了经过几十年演化而成的算法核心知识体系  内容全面 全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使......一起来看看 《算法(第4版)》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具