`pip3 搜索` 显示拒绝安装的版本

`pip3 搜索` 显示拒绝安装的版本

pip3 search aiohttp生产(除其他外):

aiohttp (3.3.2)  - Async http client/server framework (asyncio)
  INSTALLED: 2.3.10
  LATEST:    3.3.2

尽管如此,pip3 install --upgrade --user aiohttp它还是响应说它已经是最新的,并pip3 install --user aiohttp==3.3.2返回:

[...] Could not find a version that satisfies
the requirement aiohttp==3.3.2 (from versions: 0.1, 0.2, 0.3, 
[... snip ...], 2.3.10, 3.0.0b0) No matching distribution found for
aiohttp==3.3.2

Python3 为 v.3.5.2,pip3 为 v.18.0,是系统自带的 python3-pip v.8.1.1 的升级版本。pip3 本地升级使用pip3 upgrade --user。参见这个问题用于链接和讨论。

我究竟做错了什么?

答案1

我们通过聊天调试的核心问题是您升级了pip。这导致了一些...不兼容(并且聊天室中有来自 16.04 容器的终端转储来支持这一点)。

步骤 1:删除升级的pip版本

这个很简单,因为你已经将它安装在本地数据中了 -pip3 uninstall pip

这将删除您本地用户空间中的该版本。

第 2 步:关闭终端或 SSH 会话,然后重新建立

这样会话就会忘记本地用户空间pip3二进制文件。

步骤 3:再次运行所需 PyPI 软件包的安装步骤- pip3 install --upgrade --user aiohttp stig(这也安装stig,您在聊天中提到这是您的目标)

这应该安装aiohttp版本3.4.0(截至本文发布时 PyPI 中的最新版本)和stig


我们在聊天中完成了所有这些操作,安装没有问题。升级版本aiohttp的问题在于pippip这将增加失败的机会因为较新pip版本严重依赖于更新的 Python 版本。除非您virtualenv在 Python 环境中使用 s,否则您将只能使用系统的 Python 3.5.2,而较新版本pip无法与之兼容。(请注意,我们在测试中也认识到了这一点)。

另请注意,aiohttpPyPI 上列出了 Python 3.5.3 或更高版本的要求。这不会在 16.04 环境中得到解决,因此您可能需要求助于具有更新 Python 的 Python 虚拟环境,或运行 Ubuntu 18.04 的 VM,或容器(例如基于 LXD 的容器) 升级至 18.04。这将为您提供更新的 Python 版本。

相关内容