python - 为什么 pip-tools 无法推断正确的版本?

标签 python pip pip-tools

我尝试使用 pip-compile 来锁定我的 python 依赖项,因此我编写了一个非常简单的 requirements.txt

future >= 0.16.0
dronekit >= 2.9.1
dronekit-sitl >= 3.2.0
pymavlink >= 2.2.8
MAVProxy == 1.6.4
simplejson >= 3.10.0

但是当我编译它时,我收到以下消息:

$ pip-compile
Could not find a version that matches future==0.15.2,>=0.16.0
Tried: 0.0.1, 0.0.2, 0.0.3, 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.7.0, 0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.10.0, 0.10.1, 0.10.2, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.11.4, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.17.0, 0.17.1

令我困扰的是 future-0.16.0 显然在版本列表中,而 future==0.15.2 从来不存在于任何其他项目的传递依赖项中!那么为什么 pip-compile 无法获得这种矛盾的信息呢?

最佳答案

future==0.15.2 确实存在于您的传递依赖项中。最新的 Dronekit 版本 v2.9.1 在其 setup.py 中有以下行:

'future==0.15.2'

这已经是changed在当前的 dronekit master 中,到 future>=0.15.2,但不在任何版本中。

关于python - 为什么 pip-tools 无法推断正确的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54430201/

相关文章:

python - 在python中处理http用户代理的unicode字符

python - Protobuf-2.6.0 与 Python 3?

python - 导入安装工具失败

Python 将变量放入 sql FROM 语句中

python - 如何加入两个数据框,其中一列具有相同的值(和名称)且大小相同?

python - 无法安装mysqlclient

python - Django 应用程序安装的 "Could not find a version that satisfies the requirement"错误

python - 是否可以使用最旧的依赖项来 pip 编译requirements.txt?

python - 使用 conda 和 pip 时,如何在 Python 中固定版本化依赖项?