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
. 有关链接和讨论,请参阅此问题。
我究竟做错了什么?
我们通过聊天调试的核心问题是您升级了
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
没有问题。升级pip
版本的问题在于它会增加pip
不起作用的机会,因为新pip
版本严重依赖于更新的 Python 版本。除非您将virtualenv
s 用于您的 Python 环境,否则您将被困在系统的 Python 3.5.2 上,其中较新的版本pip
不适用。(请注意,这在我们的测试中也得到了认可)。另请注意,
aiohttp
Python 3.5.3 或更高版本的 PyPI 上列出了要求。这不会在 16.04 环境中解决,因此您可能需要使用具有更新的 Python 的 Python 虚拟环境,或运行 Ubuntu 18.04 的 VM,或具有 18.04 的容器(例如基于 LXD 的容器)。这为您提供了更新的 Python 版本。