为什么pip会尝试在python2 virtualenv中安装库的不兼容版本?

时间:2019-08-26 20:42:42

标签: python pip setuptools

例如,库more-itertools。它已指定python_requires = >= 3.4表示它与以前的版本不兼容。

当我尝试在全新的virtualenv中pip install more-itertools(pip == 19.2.3,setuptools == 41.2.0)时,出现以下错误: ERROR: Package 'more-itertools' requires a different Python: 2.7.10 not in '>=3.4'

我的问题是:如何获得点子以安装兼容的先前版本?这有可能吗?还是我必须将依赖关系固定到以前的版本?

pip install --help中看不到任何在这里特别有用的东西。

1 个答案:

答案 0 :(得分:1)

好的,现在我更加困惑了。

在新的docker上尝试一下,似乎开箱即用:

from centos:centos7

RUN yum install -y epel-release
RUN yum install -y python-pip

RUN python -m pip install -U virtualenv pip

RUN mkdir /test

WORKDIR /test

RUN virtualenv venv

ENV PATH="/test/venv/bin:$PATH"

RUN pip install more-itertools

这将安装more-itertools==5.0.0

编辑:事实证明,这是我正在使用的索引服务器的问题,该索引服务器在安装时无法正确传达python_requires元数据。