我已经通过以下方式创建了虚拟环境:
python3.6 -m venv myvenv
然后我激活了它:
source myvenv/bin/activate
之后我想使用 pip:
pip install requests
然后错误出现了:
pip is configured with locations that require TLS/SSL, however the
ssl module in Python is not available.
Collecting requests
Could not fetch URL https://pypi.python.org/simple/requests/:
There was a problem confirming the ssl certificate: Can't connect
to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement requests
(from versions: )
No matching distribution found for requests
据我了解,这与系统中安装的 openssl 版本有关。我检查了版本:
ssh -V
这就是我所看到的:
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.10, OpenSSL 1.0.1f 6 Jan 2014
这是旧版本,但据我所知,它无法升级到 ubuntu 14.04 lts。对吗?
我也尝试从这里安装 tar 存档:
https://www.openssl.org/source/
最新版本 openssl-1.0.2n.tar.gz 已成功安装到 /usr/local/openssl
但是当我检查系统中的版本时,它仍然是 1.0.1f,并且在虚拟环境中仍然出现相同的错误。也许我应该将系统指向新 openssl 所在的位置?
谢谢。
答案1
我已成功解决了该问题,它与 Openssh 客户端无关。在系统上安装 openssl-1.0.2n 后,我所需要做的就是重新编译 Python 3.6.4,然后一切就都正常了。我的虚拟环境中不再出现错误,并且可以成功使用 PIP 安装模块。所以这最终与 Openssl 的升级有关。
谢谢。