欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3中安裝后SSL問題及解決

 更新時(shí)間:2022年12月19日 10:49:55   作者:lucky_白楊  
這篇文章主要介紹了Python3中安裝后SSL問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python3安裝后SSL問題

問題

編譯安裝時(shí)已經(jīng)指定了–with-openssl的參數(shù)并且指向了你的openssl的源碼包地址,但是編譯安裝之后ssl還是沒有辦法用。

解決

根據(jù)網(wǎng)上的文章介紹,要進(jìn)入到python源碼包解壓后的那個(gè)目錄下的Modules/Setup,注意Setup這個(gè)文件,只有在python完成安裝后才會(huì)生成這個(gè)文件。

并且按照如下圖去除注釋:

可以看到SSL的路徑為/usr/local/ssl,所以如果你看到自己的服務(wù)器上面沒有這個(gè)路徑,那么你就沒有安裝ssl相關(guān)的東西,或者說你的ssl相關(guān)的目錄名不叫ssl。

那么你更改ssl的路徑為你的ssl安裝目錄也可以,或者說你安裝ssl的時(shí)候使用這個(gè)目錄名為安裝目錄。

還有,可以使用libressl來代替openssl,我這次問題就是安裝的libressl來解決的問題,我將libresll安裝到了/usr/local/ssl這里,并且將上面的注釋去除,然后重新make install,問題就解決啦!

注意python3在編譯安裝的時(shí)候提示了,ssl需要用openssl1.0.2或者libressl2.64(不含)以后的版本!反正用最新的就好啦!

Python3安裝過程出現(xiàn)的ssl問題

No module named _ssl或者renaming “_ssl“ since importing it failed

如果安裝Python或者運(yùn)行Python的時(shí)候報(bào)了上面的錯(cuò)誤,那么首先你需要確定自己是否安裝了openssl,若安裝了openssl,請(qǐng)確定openssl的安裝位置及l(fā)ib和include被安裝在哪里,另外在/usr/lib64中是否有l(wèi)ibssl.so.1.1和libcrypto.so.1.1等文件,一般而言openssl的lib及include位置為/usr/local/lib64/ 或 /usr/local/lib/ 或 /usr/local/openssl/lib/ 及 /usr/local/include 或 /usr/local/openssl/include

若沒有安裝,請(qǐng)?jiān)?a target="_blank">https://www.openssl.org/source/下載最新版,如下所示

wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxvf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config --prefix=/usr/local --openssldir=/usr/local/openssl
make && make install
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

openssl環(huán)境安裝好后,就下載目標(biāo)版本的Python安裝包并解壓了

wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar -zxvf Python-3.7.6.tgz
cd Python-3.7.6

進(jìn)入目錄后很多相關(guān)的教程都會(huì)說要你改下面的文件,但是!!不會(huì)和你說為什么改,只關(guān)顧著說取消注釋就完事了。

vim Modules/Setup.dist
找到SSL相關(guān)配置
#SSL=/usr/local/ssl
#_ssl _ssl.c
# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
# -L$(SSL)/lib -lssl -lcrypto

我們先把這幾段取消注釋,然后看紅色部分字段,這個(gè)字段即openssl的lib及include所在的目錄,假設(shè)include目錄在/usr/local/下,且路徑/usr/local/include/openssl存在,那么紅色部分字段改為/usr/local(請(qǐng)根據(jù)實(shí)情)

紫色部分字段,即openssl的lib所在的路徑,請(qǐng)確認(rèn)一下該路徑下是否有l(wèi)ibssl.so.1.1之類的,沒有說明找錯(cuò)了。請(qǐng)把紫色部分字段改為lib64(請(qǐng)根據(jù)實(shí)情)

改完后保存wq

例子

SSL=/usr/local
_ssl_ssl.c
-DUSE_SSL -l$(SSL)/include -l$(SSL)/include/openssl
-L$(SSL)/lib64 -lssl -lcrypto

最后編譯看看是不是好了?

./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC && make && make install

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論