摘自:https://blog.csdn.net/love_cjiajia/article/details/82254371
python3.7安裝(解決ssl的問題)
1) 安裝准備
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
2) 安裝libressl代替openssl-devel
由於系統的openssl是1.0.1的版本,對於python3.7太老了,需要更新為openssl1.0.2或者libressl2.64(不含)以后的版本,所以這里從libressl官網下載libressl源碼,編譯生成庫文件代替系統的openssl1.0.1
進入解壓后的目錄libressl-2.8.0
運行: ./config –prefix=/usr/local/ssl
make
make intall
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
cd /etc/ld.so.conf.d
新建文件
vim libressl-2.8.0.conf
#將以下行加入文件,並保存
/usr/local/ssl/lib
ldconfig -v #重新加載庫文件
驗證是否安裝完成
[root@testmachine hadoop_software]# openssl version
LibreSSL 2.8.0
3) 安裝python3.7
從官網下載python3.7的源碼,
解壓后進入Python-3.7.0
編譯前需要設置環境變量(重要)
export LDFLAGS=”-L/usr/local/ssl/lib”
export CPPFLAGS=”-I/usr/local/ssl/include”
export PKG_CONFIG_PATH=”/usr/local/ssl/lib/pkgconfig”
./configure –prefix=/usr/python –enable-shared CFLAGS=-fPIC
運行后會出現一堆信息:
注意最后的ssl檢查,如下圖所示:
如果ssl版本太舊或者編譯前沒有設置ssl的環境變量,這里是檢測不到ssl的,安裝完成后的pip3是無法使用的,這點非常關鍵!
檢測通過后,運行
make
make install
ln -s /usr/python/bin/python3 /usr/bin/python3
ln -s /usr/python/bin/pip3 /usr/bin/pip3
驗證python 安裝正確
import ssl沒有報錯