【问题标题】:'pip install' fails for every package ("Could not find a version that satisfies the requirement") [duplicate]每个软件包的“pip install”都失败(“找不到满足要求的版本”)[重复]
【发布时间】:2018-09-19 17:52:09
【问题描述】:

pip install <package name> 对我来说每个包都失败了。这是我得到的:

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

我在 StackOverflow 上sawsimilarquestions,但他们似乎与这个并不完全相关。

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

pip 在运行 pip install --upgrade pip 时显示最新。

【问题讨论】:

  • 您能否提供一个示例,说明您如何使用实际的包名称来处理pip install &lt;package name&gt;,或者只是发布您的requirements.txt?谢谢
  • 我尝试了很多。即使pip install django 也不起作用。它总是更早地工作。
  • 你试过更新pip版本吗?您使用的是哪个 python 和 python-pip 版本?您确定您的机器已连接到互联网吗?
  • 使用pip install -vvv &lt;package name&gt;时产生的输出是什么?
  • @N. Ivanaov 是的,机器已连接(因为我能够创建这篇文章)。是的,我尝试升级 pip 并且它已经是最新的。

标签: python pip pypi


【解决方案1】:

升级pip如下:

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

注意:如果不在虚拟环境中,您可能需要使用上述sudo python

发生了什么:

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 包 安全索引:

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

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

在 macOS 系统 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

更新 - 滚动限电已升级为停电,TLSv1.0 和 TLSv1.1 将始终被 HTTP 403 拒绝。 世界标准时间 4 月 8 日 15:49

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

pip install --upgrade setuptools

【讨论】:

  • Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/setuptools-1.3.1-py2.7.egg' 考虑使用--user 选项或检查权限。 .... 我应该添加 --user 选项吗?
  • 如果您遇到任何权限问题,请使用:curl bootstrap.pypa.io/get-pip.py |须藤蟒蛇
  • (使用 MacOS)在我的情况下仅提供帮助:curl https://bootstrap.pypa.io/get-pip.py | sudo python
  • 不再工作了?想知道每个人如何接受这个答案
  • 我在 Linux 上,这些说明没有帮助
【解决方案2】:

PyPI 不再支持 TLS 1.0 和 1.1。如果您的系统没有使用更新的版本,它可以解释您的错误。

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

这似乎与Unable to install Python libraries有关

查看多米尼克·巴顿的回答:

显然 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

【讨论】:

  • 感谢您的提示,但 sudo easy_install -U pip 在 Mac OSX 10.11.X 上对我不起作用。 Searching for pip Reading https://pypi.python.org/simple/pip/ Couldn't find index page for 'pip' (maybe misspelled?) Scanning index of all packages (this may take a while) Reading https://pypi.python.org/simple/ No local packages or download links found for pip error: Could not find suitable distribution for Requirement.parse('pip')
  • 对不起,我不是 OSX 用户,所以我无法为您提供帮助。请查看@Anupam 的回答,了解如何在 OSX 上(重新)安装 pip。
  • 是的,这对我有用。我 @Anupam :)
  • 大声笑 :) 很抱歉让您感到困惑,我没有看到您回答了自己的问题 ;-)
  • Windows 怎么样?
猜你喜欢
  • 2016-12-18
  • 2019-01-06
  • 2020-10-21
  • 2021-12-25
  • 2019-09-14
  • 1970-01-01
  • 2015-10-13
相关资源
最近更新 更多