1. 程式人生 > >日常筆記-centos7安裝python3.6.6

日常筆記-centos7安裝python3.6.6

centos7安裝python3.6.6以及報錯解決

下載包

cd 到/tmp目錄下

wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

解壓

tar -xzvf Python-3.6.6.tgz -C /tmp

進入

cd Python-3.6.6/

這一步可能會報錯原因沒有gcc庫

./configure --prefix=/usr/local

由於本機缺少gcc編譯環境

1、通過yum安裝gcc編譯環境:yum install -y gcc

2、本機沒有安裝yum功能,可下載gcc安裝包:https://gcc.gnu.org/

這一步可能會報錯原因沒有安裝zlib相關依賴包

make

make altinstall

報錯提示:zipimport.ZipImportError: can't decompress data; zlib not available make: *** [altinstall] Error 1

解決:

yum -y install zlib*

稍後繼續執行

更改/usr/bin/python連結

cd/usr/bin

mv python python.backup

ln -s /usr/local/bin/python3.6 /usr/bin/python

ln -s /usr/local/bin/python3.6 /usr/bin/python3

更改yum指令碼的python依賴

cd /usr/bin

ls yum*

vi /usr/bin/yum

vi /usr/libexec/urlgrabber-ext-down

更改以上檔案頭為>!/usr/bin/python 改為 #!/usr/bin/python2大功告成

python3 和pip 都可以用了。



pip 報錯處理

  • python pip 出現locations that require TLS/SSL異常處理方法

    最近在Centos 7上安裝Python3.6.6之後,使用pip命令出現了問題,提示說找不到ssl模組,出現錯誤如下:
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    Could not fetch URL https:*******: There was a problem confirming the ssl certificate: 
    Can't connect to HTTPS URL because the SSL module is not available. - skipping

查閱資料發現,在./configure過程中,如果沒有加上–with-ssl引數時,預設安裝的軟體涉及到ssl的功能不可用,
剛好pip3過程需要ssl模組,而由於沒有指定,所以該功能不可用。

        1、檢視openssl安裝包,發現缺少openssl-devel包 
        rpm -aq | grep openssl 
        openssl-1.0.2k-16.el7.x86_64
        openssl-libs-1.0.2k-16.el7.x86_64

        2、yum安裝openssl-devel :
        yum install openssl-devel -y 

        3、檢視安裝結果 
        rpm -aq | grep openssl 
        openssl-1.0.2k-16.el7.x86_64
        openssl-devel-1.0.2k-16.el7.x86_64
        openssl-libs-1.0.2k-16.el7.x86_64

重新對python3.6進行編譯安裝,用一下過程來實現編譯安裝:

    cd Python-3.6.6
    ./configure --with-ssl
    make
    make altinstall