setup.py的install_requires - 我该如何为特定的依赖项指定Python版本范围?

4
我正在开发一个Python项目,该软件包支持Python 3.6-3.10。
在setup.py的install_requires列表中有这两行代码:
        "numpy>=1.18.5, <=1.19.5; python_version=='3.6'",
        "numpy>=1.19.5; python_version>='3.7'",

我试图将它们改为

        "numpy>=1.18.5, <=1.19.5; python_version=='3.6'",
        "numpy>=1.23.1; python_version>='3.10'",
        "numpy>=1.19.5; python_version>='3.7', <'3.10'",

当我运行python setup.py install时,我遇到了这个错误:

$ python setup.py install
# yeah, I know `pip install .` is a better command.

error in mypackage setup command: 'install_requires' must be a 
string or list of strings containing valid project/version requirement specifiers; Parse error at "", <'3.10"": Expected string_end

我尝试了一些不同的变体来指定一个3.7到3.9的python_version范围,但它们都没有起作用。

那么,我该如何在setup.py中为特定依赖项指定Python版本范围呢?


尝试升级 setuptools。请访问 https://stackoverflow.com/search?q=%5Bsetuptools%5D+install_requires+must+be+a++string+or+list+of+strings。 - phd
@phd,我已经在使用setuptools 65.0.1了。 - Teddy C
1
然后我认为 pip install . 是唯一的方法。 - phd
1个回答

3

参考完整语法,您可以使用and来实现您的目的。

"numpy>=1.18.5, <=1.19.5; python_version=='3.6'",
"numpy>=1.23.1; python_version>='3.10'",
"numpy>=1.19.5; python_version>='3.7' and python_version<'3.10'",

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接