【发布时间】:2021-08-24 17:29:31
【问题描述】:
我使用 python3 -m venv 创建了一个虚拟环境,在那个虚拟环境中我的设置是:
python 3.5.2 点 8.1.1 Mac OS 10.13.6
那个 pip 版本非常旧,会导致下面描述的问题:如何让 venv 安装更新版本的 pip?
每当我运行“pip install”时,我都会收到以下表单错误:
Could not fetch URL https://pypi.python.org/simple/<any_package>/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:645) - skipping
我已经使用 = flask、gunicorn 和 requests 进行了尝试,并认为这不是特定于包的问题。
我试图解决的问题:
我看到这个链接建议我应该以某种方式升级 pip:https://github.com/pypa/pip/issues/5226
所以我将 pip 升级到了最新版本: 来自 /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip (python 3.5) 的 pip 20.0.2
但问题仍然存在。然后我将venv升级到最新版本。
但问题再次出现。
我在网上做了一些研究,发现了以下 github 问题:https://github.com/pypa/pip/issues/5363
问题陈述文本的一部分与我的 TLS 问题非常相似,但似乎没有一个答案能够解决问题(粘贴每个答案都会导致相同的 TLS 问题)。
我终于找到了可行的方法:
来自这个问题:Upgrading pip/installing django - [SSL: TLSV1_ALERT_PROTOCOL_VERSION]
解决方法如下:
curl https://bootstrap.pypa.io/get-pip.py | python3
将我的“虚拟环境的 pip”升级到正确的版本。但是我还没有弄清楚如何让我的默认 pip(当我创建一个新的虚拟环境时)保持最新。
【问题讨论】:
-
你可以创建一个别名来创建一个新的虚拟环境并运行 curl 命令。
标签: python python-3.x pip