【问题标题】:ResolutionImpossible from pip despite no apparent version conflict尽管没有明显的版本冲突,但无法从 pip 解决
【发布时间】:2022-10-25 16:15:21
【问题描述】:

尽管没有实际的版本冲突,但有时 pip 会抱怨依赖冲突,例如在这种情况下,即使从约束.txt 中完全删除了 elastic-apm 的特定版本(只是将其留在 mypackage 的 setup.py 中),它仍然失败,如下所示:

ERROR: Cannot install elastic-apm because these package versions have conflicting dependencies.

The conflict is caused by:
    mypackage 1.2.3 depends on elastic-apm
    The user requested (constraint) elastic-apm

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

这是 pip 22.1.2 & python 3.10 使用这样的命令(即使用车轮的本地文件夹,而不是 PyPI)

pip install -r requirements.txt -c constraints.txt --no-index --find-links LOCALDIR --no-cache-dir --isolated

当实际上根本没有请求特定版本或范围时,为什么 pip 抱怨依赖冲突,更不用说冲突的依赖?

【问题讨论】:

    标签: python pip


    【解决方案1】:

    事实证明,问题在于 LOCALDIR 不包含当前的轮子平台.

    该文件夹包含这个轮子,但没有相应的 Windows 轮子(我们的错误)

    elastic_apm-6.10.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    

    但是 pip 输出非常具有误导性 - 问题与矛盾的依赖项,它根本找不到与必要平台匹配的包——如果 pip 告诉你这个就好了。

    我在https://github.com/pypa/pip/issues/11009 上发过帖子,看起来很相似。

    【讨论】:

      猜你喜欢
      • 2022-11-28
      • 2014-08-15
      • 2015-07-02
      • 2018-10-26
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      相关资源
      最近更新 更多