linux下安裝Django出現Python中的ssl模塊不可用?

2019-09-21     波波說運維

概述

場景:在用pip安裝django時提示SSL方面的問題,具體報錯如下:

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


思路

系統版本centos7,其中openssl的版本為OpenSSL 1.0.2k-fips 26 Jan 2017,而python3.7需要的openssl的版本為1.0.2或者1.1.x,需要對openssl進行升級,並重新編譯python3.7.0,yum 安裝的openssl 版本都比較低。


解決過程

1、查看openssl版本

openssl version -a

2、下賊openssl

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -zxvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a

3、編譯安裝

./config --prefix=/usr/local/openssl 
make&& make install

4、備份原配置

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak

5、新版配置

ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

6、修改系統配置

## 寫入openssl庫文件的搜索路徑
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
## 使修改後的/etc/ld.so.conf生效
ldconfig -v

7、查看openssl版本

openssl version

8、重新安裝python

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make && make install
ln -fs /usr/local/python/bin/python3.7 /usr/bin/python
ln -fs /usr/local/python/bin/pip3 /usr/bin/pip

9、測試pip功能

pip install django


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

文章來源: https://twgreatdaily.com/zh-my/WN5xT20BJleJMoPMAU71.html