编程语言
首页 > 编程语言> > python – 找不到满足要求的版本

python – 找不到满足要求的版本

作者:互联网

我正在使用以下requirements.txt文件在Ubuntu 12.04中安装几个Python包:

numpy>=1.8.2,<2.0.0
matplotlib>=1.3.1,<2.0.0
scipy>=0.14.0,<1.0.0
astroML>=0.2,<1.0
scikit-learn>=0.14.1,<1.0.0
rpy2>=2.4.3,<3.0.0

和这两个命令:

$pip install --download=/tmp -r requirements.txt
$pip install --user --no-index --find-links=/tmp -r requirements.txt

(第一个下载包,第二个安装它们).

该过程经常因错误而停止:

  Could not find a version that satisfies the requirement <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2)) (from versions: )
No matching distribution found for <package> (from matplotlib<2.0.0,>=1.3.1->-r requirements.txt (line 2))

我手动修复:

pip install --user <package>

然后再次运行第二个pip install命令.

但这只适用于特定的包装.当我再次运行第二个pip install命令时,该进程现在停止抱怨另一个必需的包,我需要再次重复该过程,即:手动安装新的所需包(使用上面的命令),然后运行第二个pip安装命令.

到目前为止,我不得不手动安装六,pytz,鼻子,现在它抱怨需要模拟.

有没有办法告诉pip自动安装所有需要的依赖项,所以我不必逐个手动执行?

添加:这只发生在Ubuntu 12.04 BTW中.在Ubuntu 14.04中,在requirements.txt文件上应用的pip install命令没有问题.

解决方法:

只有当目录包含所有包时,此方法(在目录中具有所有依赖项而不从索引下载)才有效.因此,该目录应该包含所有依赖项,但也包含这些依赖项依赖的所有包(例如,6,pytz等).

因此,您应该手动将这些包含在requirements.txt中(以便第一步显式下载它们),或者您应该使用PyPI安装所有包,然后pip freeze> requirements.txt存储所需的所有包的列表.

标签:python,pip,requirements-txt
来源: https://codeday.me/bug/20190926/1820932.html