微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python_requires 中的版本条件

如何解决python_requires 中的版本条件

我们有一个适用于 2.7 和 3.8 版本后的软件包,我们需要保留 2.7 以便为尚未移动的用户提供支持,但是当我在 setup.py 中执行此操作时:

python_requires="== 2.7.*,>= 3.8"

这不起作用,当我在 3.8.11 中安装生成的轮文件时,它说:

ERROR: Package 'mypkg' requires a different Python: 3.8.11 not in '==2.7.*,>=3.8'

为什么 3.8.11 不是 >= 3.8?如何解决这个问题?

解决方法

这是因为逗号 , 在 Python 的 version specifiers 中充当逻辑“与”运算符,并且没有一个版本可以同时匹配 == 2.7.*>= 3.8时间。

不幸的是,版本说明符中没有提供“或”运算符,因此您必须通过彻底排除两个兼容范围之间的已知不兼容版本来解决此问题:

python_requires=">= 2.7,!= 3.0.*,!= 3.1.*,!= 3.2.*,!= 3.3.*,!= 3.4.*,!= 3.5.*,!= 3.6.*,!= 3.7.*"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。