gpt4 book ai didi

python - pep 420 namespace_packages 在 setup.py 中的用途

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:49 27 4
gpt4 key购买 nike

在使用 PEP420 命名空间包(没有 __init__.py 的包)时,setup.py 中的 namespace_packages 参数的目的是什么?

我试了一下,发现是否声明命名空间包没有区别。“setup.py 安装”和“pip 安装”。在任何情况下都有效。

我正在构建一个自动 setup.py 代码生成器,如果没有必要,我很乐意不处理它。

最佳答案

只要你:

  • 针对安装了 importlib2 依赖项的 Python 3.3 和更新版本或 Python 2.7(Python 2 的 importlib 的反向移植),
  • 使用最新版本的setuptools打包(我觉得应该是28.8或者更新的)
  • 并使用最新的 pip 版本进行安装(9.0 和更新版本都可以,8.1.2 可能也可以,但你应该自己测试一下),

为了安全起见,您可以在安装脚本中安全地省略 namespace_packages 关键字 arg。

有一个PyPA's official repository named sample-namespace-packages on GitHub它包含一套针对不同可能安装的发行版场景的测试,其中包含各种命名空间包。如您所见,使用隐式命名空间包的示例包在其设置脚本(此处为 one of the scripts )和类型的所有测试中均未使用 namespace_packages arg pep420cross_pep420_pkgutil 通过 Python 3;这是 the complete results table .

关于python - pep 420 namespace_packages 在 setup.py 中的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com