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
的问题在于pip
pip
这将增加失败的机会因为较新pip
版本严重依赖于更新的 Python 版本。除非您virtualenv
在 Python 环境中使用 s,否则您将只能使用系统的 Python 3.5.2,而较新版本pip
无法与之兼容。(请注意,我们在测试中也认识到了这一点)。
另请注意,aiohttp
PyPI 上列出了 Python 3.5.3 或更高版本的要求。这不会在 16.04 环境中得到解决,因此您可能需要求助于具有更新 Python 的 Python 虚拟环境,或运行 Ubuntu 18.04 的 VM,或容器(例如基于 LXD 的容器) 升级至 18.04。这将为您提供更新的 Python 版本。