這篇文章主要介紹centos6.8安裝python3.7無(wú)法import _ssl怎么辦,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的中方網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!公司運(yùn)維提供的服務(wù)器是centos6.8,打算在上面裝python3.7,結(jié)果費(fèi)盡周折,按照網(wǎng)上的步驟python3.7能成功安裝,但是import ssl卻報(bào)找不到_ssl模塊的錯(cuò)誤:
import _ssl # if we can't import it, let the error propagate ImportError: No module named _ssl
在網(wǎng)上搜了各種方法,有說(shuō)修改python3.7安裝文件中的Setup.dist,將SSL部分注釋掉,但自己注釋掉仍然不行。有說(shuō)重新裝openssl庫(kù),配置python3.7的時(shí)候指定openssl,然而也是不行。反正網(wǎng)上各種博客說(shuō)的方法都不萬(wàn)能,在我這都不行。之前安裝的時(shí)候只是把安裝步驟的linux命令敲一遍,也不明白是什么意思,為了徹底找出原因所在,自己反復(fù)折騰了2天,每條命令、每個(gè)參數(shù)選項(xiàng)都去搞明白到底是啥意思,最終終于把ssl這個(gè)模塊搞定了,下面就把centos6.8安裝python3.7的正確步驟寫(xiě)下。另,如果沒(méi)有特殊要求,直接裝python3.6就行,python3.6在centos6.8下傻瓜式安裝就不會(huì)有此問(wèn)題。
言歸正傳,安裝步驟如下:
1、安裝依賴(lài)庫(kù):
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
注意,這里yum源安裝的openssl的最高版本是1.0.1:
[root@4ed99ab56fea /]# rpm -qa | grep openssl openssl-1.0.1e-57.el6.x86_64 openssl-devel-1.0.1e-57.el6.x86_64
但是python3.7安裝要求openssl最低版本是1.0.2,所以不能用yum安裝的openssl,需要額外下載1.0.2的openssl來(lái)安裝。
2、安裝1.0.2版本的openssl
下載1.0.2版本的openssl
wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz
解壓openssl源代碼,并安裝
tar -zxvf openssl-1.0.2j.tar.gz ./config --prefix=$HOME/openssl shared zlib make && make install
注意!openssl配置是用config,而不是configure,另外openssl編譯安裝依賴(lài)zlib動(dòng)態(tài)庫(kù),所以一定要shared zlib。
3、設(shè)置環(huán)境變量LD_LIBRARY_PATH
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile source $HOME/.bash_profile
這一步一定要有!!LD_LIBRARY_PATH環(huán)境變量主要用于指定查找共享庫(kù)(動(dòng)態(tài)鏈接庫(kù))時(shí)除了默認(rèn)路徑之外的其他路徑。當(dāng)執(zhí)行函數(shù)動(dòng)態(tài)鏈接.so時(shí),如果此文件不在缺省目錄下‘/lib' and ‘/usr/lib',那么就需要指定環(huán)境變量LD_LIBRARY_PATH
4、解壓python3.7,并安裝,一定要指定剛才安裝的1.0.2版本的openssl!?。?/strong>
tar -zxvf Python-3.7.0.tgz ./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl make && make install
ok,至此python3.7就安裝完了,來(lái)檢驗(yàn)下ssl模塊能否被導(dǎo)入吧:
[root@4ed99ab56fea bin]# ./python3 Python 3.7.0 (default, Sep 16 2018, 14:12:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ssl >>> import _ssl >>>
以上是“centos6.8安裝python3.7無(wú)法import _ssl怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。