2024-05-23 19:18:41 发布
网友
中namespace_packages参数的用途是什么设置.py在使用PEP420命名空间包时(不带u init_uu.py的包)?在
我使用它,发现无论是否声明名称空间包都没有区别。 "设置.py“安装”和“pip install.”在任何情况下都有效。在
我正在建造一个自动装置设置.py代码生成器,如果没有必要的话,我们很乐意不处理这个问题。在
命名空间包是安装在一个顶级名称下的单独的包。在
通常两个不同的包(例如SQLObject和Cheetah3)安装两个(或更多)不同的顶层包(sqlobject和{})。在
sqlobject
但是,如果我有一个库,我想把它分成几个部分,并且允许在没有库的其他部分的情况下安装这些部分呢?我使用命名空间包。示例:这两个包是一个库的两个部分:m_lib和{a4}。一个安装可以单独使用的m_lib/defenc.py,另一个安装m_lib库的其余部分。为了一次安装整个库,我还提供了m_lib.full。在
m_lib/defenc.py
m_lib
注:所有提到的包裹都是我的。源代码在Github或my personal git hosting处提供。在
只要你:
importlib2
importlib
setuptools
pip
您是安全的,可以安全地省略安装脚本中的namespace_packages关键字arg。在
namespace_packages
有一个PyPA's official repository named ^{} on GitHub包含一套测试,用于安装包含每种名称空间包的发行版的不同可能场景。如您所见,使用隐式名称空间包的示例包在其设置脚本中没有使用namespace_packagesarg(这里是one of the scripts),并且在Python3上通过pep420和{}类型的所有测试;这里是the complete results table。在
pep420
命名空间包是安装在一个顶级名称下的单独的包。在
通常两个不同的包(例如SQLObject和Cheetah3)安装两个(或更多)不同的顶层包(})。在
sqlobject
和{但是,如果我有一个库,我想把它分成几个部分,并且允许在没有库的其他部分的情况下安装这些部分呢?我使用命名空间包。示例:这两个包是一个库的两个部分:m_lib和{a4}。一个安装可以单独使用的
m_lib/defenc.py
,另一个安装m_lib
库的其余部分。为了一次安装整个库,我还提供了m_lib.full。在注:所有提到的包裹都是我的。源代码在Github或my personal git hosting处提供。在
只要你:
importlib2
依赖关系的python2.7(python2的后端端口是importlib
)setuptools
进行打包(我认为应该是28.8或更高版本)pip
版本进行安装(9.0及更高版本可以,8.1.2可能也可以,但您应该自己测试)您是安全的,可以安全地省略安装脚本中的
namespace_packages
关键字arg。在有一个PyPA's official repository named ^{} on GitHub 包含一套测试,用于安装包含每种名称空间包的发行版的不同可能场景。如您所见,使用隐式名称空间包的示例包在其设置脚本中没有使用}类型的所有测试;这里是the complete results table。在
namespace_packages
arg(这里是one of the scripts),并且在Python3上通过pep420
和{相关问题 更多 >
编程相关推荐