gpt4 book ai didi

python - 在 PyPI 上上传的 Python 库的分发格式

转载 作者:行者123 更新时间:2023-12-03 23:06:08 25 4
gpt4 key购买 nike

我经历了上传包到https://test.pypi.org/的教程我成功地做到了这一点。
然而,$python setup.py sdist bdist_wheel产生 .whl文件和 tar.gz dist/ 中的文件目录。 twine允许只上传 .whltar.gz文件或两者。我在 https://pypi.org/ 上看到许多存储库已经上传了两种格式。
我想了解什么是最佳实践 .一种格式优于另一种格式吗?如 .whl文件足以分发我的代码,我应该上传 tar.gz文件也是?或者还有什么我在这里完全想念的。

最佳答案

最佳实践是同时提供两者。
为能够使用该发行版的用户提供的“内置发行版”( .whl )。这节省了安装时间,因为“内置发行版”是预先构建的,可以直接放到用户机器上,无需任何编译步骤或不执行 setup.py .一个给定的发行版可能有多个构建的发行版——一旦你开始在发行版中包含编译的二进制文件,它们就会成为特定于平台的(例如,参见 https://pypi.org/project/tensorflow/#files)
“源代码发行版”( .tar.gz )本质上是任何无法使用您构建的发行版的用户的后备。源代码分发不是“构建”的,这意味着它们可能需要编译才能安装。至少,它们需要执行一个构建后端(对于大多数项目,这是调用 setup.pysetuptools 作为构建后端)。任何安装程序都应该能够从源代码安装。此外,源代码分发使想要审核源代码的用户更容易(尽管构建分发也是可能的)。
对于大多数 Python 项目,将“源代码发行版”转换为“构建发行版”会产生单个纯 Python 轮(由 none-any 指示,文件名中的 projectname-1.2.3-py2.py3-none-any.whl )。这和源代码分发没有太大区别,但最好同时上传两者。

关于python - 在 PyPI 上上传的 Python 库的分发格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62568178/

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