包装常见的python命名空间

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

Web信息架构(第3版)

Web信息架构(第3版)

Peter Morville、Louis Rosenfeld / 陈建勋 / 电子工业出版社 / 2008年8月 / 85.00

本书涵盖了信息架构基本原理和实践应用的方方面面。全书共7个部分,包括信息架构概述、信息架构的基本原理、信息架构的开发流程和方法论、信息架构实践、信息架构与组织、两个案例研究,以及参考资料清单。 本书兼具较高的理论价值和实用价值,曾被Web设计领域多本书籍重点推荐,是信息架构领域公认的经典书,不论新手还是专家都能各取所需。本书可供Web设计与开发者、Web架构师、网站管理者及信息管理相关人员参......一起来看看 《Web信息架构(第3版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

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

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具