Python3.7安裝(解決ssl問題)


摘自: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沒有報錯

這里寫圖片描述

參考:http://ju.outofmemory.cn/entry/363322


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM