PyPI包支持的Python版本

💡 原文英文,约600词,阅读约需2分钟。
📝

内容提要

在安装PyPI上的Python包时,'Programming Language'分类仅用于搜索,不影响安装。以onnxruntime为例,1.20.0版本声明支持Python 3.7至3.12,但实际仅支持3.10及以上。1.21.0版本修正了此问题,明确要求Python >=3.10。使用python_requires字段可控制兼容性,分类仅供浏览。

🎯

关键要点

  • 在PyPI上安装Python包时,'Programming Language'分类仅用于搜索,不影响安装。

  • onnxruntime 1.20.0版本声明支持Python 3.7至3.12,但实际仅支持3.10及以上。

  • onnxruntime 1.21.0版本修正了此问题,明确要求Python >=3.10。

  • 使用python_requires字段可控制兼容性,分类仅供浏览。

  • python_requires字段用于控制包的Python版本兼容性,而分类字段用于搜索和浏览项目。

  • 如果Python版本与python_requires字段不兼容,则无法构建该Python包。

  • 建议检查PyPI上的包元数据以确认实际支持的Python版本。

🔎

延伸解读

PyPI分类与实际支持版本的差异

在PyPI上,'Programming Language'分类仅用于搜索,可能与实际支持的Python版本不符。例如,onnxruntime 1.20.0版本声称支持Python 3.7至3.12,但实际上仅支持3.10及以上。用户在选择包时需注意这一点,以避免安装失败。

使用python_requires字段的重要性

python_requires字段用于明确包的Python版本兼容性,确保用户在安装时不会遇到版本不匹配的问题。onnxruntime 1.21.0版本通过更新此字段,明确要求Python >=3.10,提升了用户体验。

检查包元数据的必要性

在安装Python包之前,建议用户检查PyPI上的包元数据,以确认实际支持的Python版本。尤其是在新版本发布后,包维护者可能未及时更新支持信息,导致潜在的安装问题。

延伸问答

PyPI上的'Programming Language'分类有什么作用?

该分类仅用于搜索和浏览项目,不影响实际安装。

onnxruntime 1.20.0版本支持哪些Python版本?

该版本声明支持Python 3.7至3.12,但实际仅支持3.10及以上。

如何确认PyPI包实际支持的Python版本?

建议检查PyPI上的包元数据,使用相关的JSON链接查看。

onnxruntime 1.21.0版本修正了什么问题?

该版本修正了1.20.0版本的支持声明不一致问题,明确要求Python >=3.10。

python_requires字段的作用是什么?

该字段用于控制包的Python版本兼容性,确保安装时的版本匹配。

如果Python版本与python_requires字段不兼容,会发生什么?

如果不兼容,则无法构建该Python包,也无法通过PyPI安装。

🏷️

标签

➡️

继续阅读