python3安裝,支持openssl,支持采集https


python3安裝,支持openssl,支持采集https

坑好多,特別是安裝的時候,各種不匹配,服務器默認配置是python2,升級3后,采集的時候用到openssl,花了兩天也沒搞定各種錯誤,也許是對linux了解不夠,openssl與python總是匹配不上,哎,最終還是莫名其妙的成功了,還是最開始的方法,用的是LibreSSL 2.8.0替代的openssl,但剛開始裝上怎么都不行,后來才可以,感覺還是對linux不了解導致。

總結一下:安裝python3.7

首先我的服務器linux缺少關聯程序

安裝 libffi-deve

yum install libffi-devel -y

如果上面安裝失敗則安裝下面

先安裝wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm --nodeps

安裝升級openssl

python3.7的ssl模塊(ssl用來采集https后綴的鏈接)必須用openssl並且版本必須大於等於1.02或者libressl2.64(不含)以后的版本,而默認linux的是1.01
openssl貌似有漏洞,而且試了安裝確實不行,用/libressl-2.8.0來替代

安裝libressl-2.8.0

wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.0.tar.gz
tar zxvf libressl-2.8.0.tar.gz
cd libressl-2.8.0/
./configure --prefix=/usr/local/ssllib
make
make install

cd /etc/ld.so.conf.d
新建文件
vim libressl-2.8.0.conf
#將以下行加入文件,並保存
/usr/local/ssl/liblib

ldconfig -v #重新加載庫文件

把原來的命令建立新的硬連接
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssllib/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssllib/include/openssl /usr/include/openssl
運行命令看是否成功
openssl version
libressl-2.8.0 成功顯示

安裝python3.7

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz
tar zxvf Python-3.7.1rc2.tgz
cd Python-3.7.1rc2
修改 Modules/Setup,讓python支持ssl
vim Modules/Setup.dist
去掉前面的#


mkdir /usr/local/python37 安裝到自定義目錄

 

./configure --prefix=/usr/local/python37 --with-ssl //要確認libressl-2.8.0 成功顯示

注意:如果此配置顯示找不到ssl則要用另一個配置

./configure --prefix=/usr/local/python37  -with-openssl=/usr/local/ssllib

在make的時候有時候就算openssl顯示正確的值,但python就是顯示找不到,折騰到崩潰,最后才找到辦法。。。


make
make install

移除原來的python命令
mv /usr/bin/python /usr/bin/python_old
建立新的python命令硬連接
ln -s /usr/local/python37/bin/python /usr/bin/python

測試:

python 

import ssl

不報錯則表示成功

ctrl+d退出命名

安裝pip

python3.7自帶的有pip只用建立快捷硬連接即可

ln -s /usr/local/python37/bin/pip3 /usr/bin/pip


免責聲明!

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



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