PyPI包支持的Python版本
内容提要
在安装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安装。