我使用的是 Ubuntu 18.04,默认情况下它有 python 3.6.5。
我想为一个项目使用 python 3.5.2,所以我下载了它和 python3.6,但现在的问题是我无法下载 python 3.5.2 的 pip。
当我尝试使用
python3.5 -m ensurepip --default-pip
Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS
当我尝试使用它安装时get-pip.py
,它显示错误
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
我该如何解决这个问题?
我已经为 python3.6 安装了可用的 pip,并且需要为 python 3.5.2 安装 pip。
答案1
根据您的错误消息,我认为您只需要安装 python-openssl:
sudo apt install python-openssl
如果上述方法不起作用,您可能能够通过 python shell 安装 3.5:
$ python3.5
然后从 python shell 中:
import ssl
如果这不起作用,您需要重新编译具有 ssl 支持的 python 3.5。首先安装 openssl:
sudo apt install openssl openssl-dev
然后在你的源目录中,你需要通过编辑 Modules/Setup.dist 来启用 ssl:
nano Modules/Setup.dist
搜索 (ctrl+w) ssl 并从以下行取消注释(删除 #):
#SSL=/usr/local/ssl
完成后它将看起来像这样:
_socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/openssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
然后你就可以编译并安装:
$ ./configure
$ make
$ sudo make install