Pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail

pip3 install pipenv安装pipenv后出现下面的错误

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

事实证明,遇到此错误将耗费很多时间,不仅因为Python项目通常以pip开始(即下载库),而且还因为进行故障排除会占用大量时间。 以我为例,我认为这是由于在本地计算机上Windows上的Ubuntu上摆弄Bash而引起的。

但我想这个故事的寓意是–有时您可以在一生中花费大部分时间进行故障排除(或安装!),这没关系。

解决方案是安装OpenSSL-如果您尚未安装OpenSSL。 找出使用openssl version

(如果已安装并正常工作,则需要其他解决方法。)

在做了很多“ Google-fu”之后,这是对我有用的方法

mkdir /tmp
cd /tmp
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -xvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make
make install

然后从源代码重新安装Python

cd /tmp
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar xzf Python-3.7.2.tgz
cd Python-3.7.2
./configure --enable-optimizations --with-openssl=/usr/local/openssl
make altinstall #如果你已经安装了其他版本的python就使用altinstall代替install

或者,如果您已经编译了源代码,请先将其清除

make clean
make distclean

然后,进行编译和安装。

再次测试pip3 install pipenv成功了!

1 条评论 最新

  • Adrian
    It is really a great and helpful piece of info. I am satisfied that you just shared this useful information with us. Please stay us informed like this. Thanks for sharing.