您好,登錄后才能下訂單哦!
這篇文章主要介紹centos6.8安裝python3.7無法import _ssl怎么辦,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
公司運維提供的服務器是centos6.8,打算在上面裝python3.7,結果費盡周折,按照網上的步驟python3.7能成功安裝,但是import ssl卻報找不到_ssl模塊的錯誤:
import _ssl # if we can't import it, let the error propagate ImportError: No module named _ssl
在網上搜了各種方法,有說修改python3.7安裝文件中的Setup.dist,將SSL部分注釋掉,但自己注釋掉仍然不行。有說重新裝openssl庫,配置python3.7的時候指定openssl,然而也是不行。反正網上各種博客說的方法都不萬能,在我這都不行。之前安裝的時候只是把安裝步驟的linux命令敲一遍,也不明白是什么意思,為了徹底找出原因所在,自己反復折騰了2天,每條命令、每個參數選項都去搞明白到底是啥意思,最終終于把ssl這個模塊搞定了,下面就把centos6.8安裝python3.7的正確步驟寫下。另,如果沒有特殊要求,直接裝python3.6就行,python3.6在centos6.8下傻瓜式安裝就不會有此問題。
言歸正傳,安裝步驟如下:
1、安裝依賴庫:
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來安裝。
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編譯安裝依賴zlib動態庫,所以一定要shared zlib。
3、設置環境變量LD_LIBRARY_PATH
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile source $HOME/.bash_profile
這一步一定要有!!LD_LIBRARY_PATH環境變量主要用于指定查找共享庫(動態鏈接庫)時除了默認路徑之外的其他路徑。當執行函數動態鏈接.so時,如果此文件不在缺省目錄下‘/lib' and ‘/usr/lib',那么就需要指定環境變量LD_LIBRARY_PATH
4、解壓python3.7,并安裝,一定要指定剛才安裝的1.0.2版本的openssl!!!
tar -zxvf Python-3.7.0.tgz ./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl make && make install
ok,至此python3.7就安裝完了,來檢驗下ssl模塊能否被導入吧:
[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無法import _ssl怎么辦”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。