'pip install'对每个包都失败(“找不到满足要求的版本”)[重复]

问题描述 投票:52回答:2

这个问题在这里已有答案:

pip install <package name>对我而言都失败了。这就是我得到的:

Could not find a version that satisfies the requirement <package-name
(from versions: )
No matching distribution found for <package-name>

我在堆栈溢出上的saw similar questions,但它们似乎与这个没有完全相关。

另外,this post建议如果PyPI关闭或我的IP地址被列入黑名单,可能会发生这种情况。对我来说,这似乎都不正确。

点击显示运行pip install --upgrade pip的最新信息。

python pip pypi
2个回答
110
投票

升级点如下:

curl https://bootstrap.pypa.io/get-pip.py | python

What's happening:

Python.org站点正在停止对TLS版本1.0和1.1的支持。这意味着Mac OS X version 10.12(Sierra)或更老版本将无法使用pip,除非他们如上所述升级pip。

(请注意,通过pip install --upgrade pip升级pip也不会正确升级它。这是一个鸡与蛋的问题)

This线程解释它(感谢this Twitter post):

使用pip和PyPI的Mac用户:

如果您运行的是macOS / OS X 10.12或更早版本,那么您应该升级到最新的pip(9.0.3)以安全地连接到Python Package Index:

curl https://bootstrap.pypa.io/get-pip.py | python

我们建议你在4月8日之前完成。

在macOS <10.13上的系统Python下运行时,Pip 9.0.3支持TLSv1.2。官方发布说明:https://pip.pypa.io/en/stable/news/

此外,Python status page

已完成 - 滚动限制已完成,TLSv1.0和TLSv1.1已禁用。 4月11日15:37 UTC

更新 - 滚动限制已升级为停电,TLSv1.0和TLSv1.1将始终使用HTTP 403拒绝。 4月8日,15:49 UTC

最后,为了避免其他安装错误,请确保在执行上述操作后还升级setuptools:

pip install --upgrade setuptools

4
投票

PyPI已删除对TLS 1.0和1.1的支持。如果您的系统不使用更新版本,则可以解释您的错误。

您是否可以尝试在系统范围内重新安装pip,以将系统依赖关系更新为更新版本的TLS?

这似乎与Unable to install Python libraries有关

见Dominique Barton的回答:

显然pip正试图通过HTTPS(加密和精细)访问PyPI,但使用旧的(不安全的)SSL版本。你的系统似乎已经过时了。如果您更新软件包可能会有所帮助。

在基于Debian的系统上,我尝试:

apt-get update && apt-get upgrade python-pip

在基于Red Hat Linux的系统上:

yum update python-pip # (or python2-pip, at least on Red Hat Linux 7)

在Mac上:

sudo easy_install -U pip

您也可以尝试单独更新openssl

© www.soinside.com 2019 - 2024. All rights reserved.