我正在使用Python3.8.7和最新版本的Pip,v21.0.1。我编写了一个包含以下Python版本约束的包:
python_requires='>=3.6, <3.9',
当我试图安装软件包时,Pip拒绝并打印以下错误:
ERROR: Package 'my-package' requires a different Python: 3.8.7 not in '<3.9,>=3.6'
在安装具有类似版本约束的其他软件包时,我也看到了类似的错误:
ERROR: Package 'my-other-package' requires a different Python: 3.8.7 not in '!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<3.9,>=2.7'
显然,Python3.8.7大于3.6而小于3.9,那么为什么Pip声称需要不同版本的Python呢?
一些调查表明,这可能是一个不准确的错误信息。我已经运行了一个实验,使用具有以下依赖关系的包:
我发现在安装使用Python3.9的软件包时,我会收到以下错误:
ERROR: Package 'package-a' requires a different Python: 3.9.0 not in '>=3.6'
因此,基本上,package-a不能与Python3.9一起安装,因为package-b不适用于Python3.9;然而,Pip错误地声明包-a需要一个“不同”的Python,然后错误地打印包-a的版本说明符,而不是包-b。
我会继续调查,但这可能是Pip本身的一个漏洞。
https://stackoverflow.com/questions/66593103
复制相似问题