mip*_*adi 17 python pip python-3.x
我使用的是 Python 3.8.7 和最新版本的 Pip,v21.0.1。我编写了一个包含以下 Python 版本约束的包:
python_requires='>=3.6, <3.9',
Run Code Online (Sandbox Code Playgroud)
当我尝试安装该软件包时,Pip 拒绝并打印以下错误:
ERROR: Package 'my-package' requires a different Python: 3.8.7 not in '<3.9,>=3.6'
Run Code Online (Sandbox Code Playgroud)
在安装具有类似版本限制的其他软件包时,我看到了类似的错误:
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'
Run Code Online (Sandbox Code Playgroud)
显然 Python 3.8.7大于3.6 且小于 3.9,那么为什么 Pip 声称需要不同版本的 Python?
一些调查表明这可能是一条不准确的错误消息。我已经运行了一个实验,使用具有以下依赖关系的包:
我发现使用 Python 3.9 安装 package-a 时,收到以下错误:
ERROR: Package 'package-a' requires a different Python: 3.9.0 not in '>=3.6'
Run Code Online (Sandbox Code Playgroud)
所以基本上,package-a 不能与 Python 3.9 一起安装,因为 package-b 不适用于 Python 3.9;然而,Pip 错误地指出package-a需要“不同的”Python,然后错误地打印出 package-a 的版本说明符,而不是 package-b。
我会继续调查,但这可能是 Pip 本身的一个错误。
| 归档时间: |
|
| 查看次数: |
5602 次 |
| 最近记录: |