centos6.8安裝python3.7無法import _ssl的解決方法
公司運(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)上搜了各種方法,有說修改python3.7安裝文件中的Setup.dist,將SSL部分注釋掉,但自己注釋掉仍然不行。有說重新裝openssl庫,配置python3.7的時(shí)候指定openssl,然而也是不行。反正網(wǎng)上各種博客說的方法都不萬能,在我這都不行。之前安裝的時(shí)候只是把安裝步驟的linux命令敲一遍,也不明白是什么意思,為了徹底找出原因所在,自己反復(fù)折騰了2天,每條命令、每個(gè)參數(shù)選項(xiàng)都去搞明白到底是啥意思,最終終于把ssl這個(gè)模塊搞定了,下面就把centos6.8安裝python3.7的正確步驟寫下。另,如果沒有特殊要求,直接裝python3.6就行,python3.6在centos6.8下傻瓜式安裝就不會(huì)有此問題。
言歸正傳,安裝步驟如下:
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動(dòng)態(tài)庫,所以一定要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
這一步一定要有?。D_LIBRARY_PATH環(huán)境變量主要用于指定查找共享庫(動(dòng)態(tài)鏈接庫)時(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就安裝完了,來檢驗(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 >>>
至此ok了!折騰了近2天,終于搞定了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python模擬瀏覽器上傳文件腳本的方法(Multipart/form-data格式)
今天小編就為大家分享一篇Python模擬瀏覽器上傳文件腳本的方法(Multipart/form-data格式),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10淺談Django中的QueryDict元素為數(shù)組的坑
這篇文章主要介紹了淺談Django中的QueryDict元素為數(shù)組的坑,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解
這篇文章主要為大家介紹了OpenCV中的幾個(gè)形態(tài)學(xué)運(yùn)算,例如:腐蝕&膨脹、開&閉運(yùn)算、梯度運(yùn)算、頂帽運(yùn)算黑帽運(yùn)算,感興趣的可以了解一下2022-04-04Python多進(jìn)程與服務(wù)器并發(fā)原理及用法實(shí)例分析
這篇文章主要介紹了Python多進(jìn)程與服務(wù)器并發(fā)原理及用法,深入淺出的介紹了進(jìn)程、并行、并發(fā)、同步、異步等相關(guān)概念與原理,并結(jié)合實(shí)例形式給出了Python多進(jìn)程編程相關(guān)操作技巧,需要的朋友可以參考下2018-08-08如何基于windows實(shí)現(xiàn)python定時(shí)爬蟲
這篇文章主要介紹了如何基于windows實(shí)現(xiàn)python定時(shí)爬蟲,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05python編程中簡潔優(yōu)雅的推導(dǎo)式示例詳解
這篇文章主要為大家介紹了python編程中簡潔優(yōu)雅的推導(dǎo)式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11用Python3通過PyCharm上傳代碼到Git服務(wù)器的詳細(xì)過程
上傳代碼到服務(wù)器,如果不知道的情況下還用傳統(tǒng)的方式上傳很麻煩,現(xiàn)在很多IDE都提供上傳代碼的功能,例如:VSCode,PyCharm等等,本文講解的是PyCharm,需要的朋友可以參考下2024-03-03