gpt4 book ai didi

python - 为不同的 python 版本准备 Pypi 包

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:01 25 4
gpt4 key购买 nike

我正在为 Pypi 准备一个包来计算 Markov chains with discrete state spaces 的稳态分布.

包含代码的主要文件在 Python 2.7 和 Python 3.5 上运行都没有问题(在虚拟环境中测试过)。 setup.py 文件似乎也可以工作,至少对于 Python 2.7 是这样。

从现在开始,我不清楚如何进行。我应该在所有可能的 Python 版本上运行 setup.py 来为每个 Python 版本创建单独的“egg”文件吗?这似乎相当乏味,考虑到该文件无论如何都在两个 Python 版本上运行,并且每次更新包时都必须重做。

这里有什么好的做法?

最佳答案

如果您正在寻找一个好的发布 list (回答“在我推送到 pypi 之前我应该​​做什么?”这个问题),您不能错过 Audrey Roy 的 PyPI Release Checklist .这是一份动态文档,会根据需要进行更新,但要 pip 是:

  • 更新您的变更日志
  • 更新您的版本号
  • 运行你的测试
  • 为 pypi 构建,同时使用源代码分发 (sdist) 和较新的 wheel 格式。
  • 推送到 pypi test instance (使用 twine )
  • 检查您的自述文件是否正确呈现
  • 测试测试实例的安装是否有效
  • 插入pypi生产
  • 更新 git 存储库标签/版本

其他不太重要的事情可能包括:

关于鸡蛋问题的元素 - 它们不再是必需的(因为引入了轮格式)。考虑向您的 .gitignore 文件添加一些内容,以防止它们被添加到您的存储库中。基本上,除非您使用 native 代码,否则您需要做的就是同时部署 sdists 和 wheel,应该没问题。

关于“无问题运行” 考虑将您的示例转换为测试,然后将这些测试作为每个版本的一部分运行。您可以使用 tox在本地,或使用类似 travis 的服务或 appveyor .如果您有应在版本之间保留的行为,这一 pip 尤为重要 - 这是 semantic versioning 的重要部分

关于python - 为不同的 python 版本准备 Pypi 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36423549/

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