天天看點

python3.5.2 更新python3.6.2

一個bug:python  version 3.5 doesn't support a 'F' prefix,引發的一場血案

應代碼需要更新python版本為3.6以上,于是正常操作:

1.wget擷取安裝包:

    wget http://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

2.解壓安裝包:

    tar -xvzf Python-3.6.2.tgz

3.檢查安裝平台屬性,系統是否有編譯時所需要額庫,以及庫的版本是否滿足編譯需要

    ./configure

4.編譯源碼

    make

5.成功編譯之後,安裝

    sudo make install

這時候python的版本還是3.5,需要修改/usr/bin/python 的軟連接配接,

1.重命名原來的python軟連接配接,萬一更新不成功,python3.5的環境還能還原,不要折了芝麻又丢了谷子

mv /usr/bin/python /usr/bin/python_old

2.建立新連結,我的python3.6.2的預設連結在/usr/local/bin/python3.6,

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

再次檢視python版本為:3.6.2,開不開心,

使用pip指令時,報錯了,意不意外:

ModuleNotFoundError: No module named 'pip._internal'

這裡安裝pip指令,

1. wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate

2. python get-pip.py

突然報錯:"Can't connect to HTTPS URL because the SSL module is not available."

幾個意思啊,進入python2.7環境:import ssl,沒有報錯,

進入python3.6.2環境,import ssl報錯:ModuleNotFoundError: No module named '_ssl',說明ssl現在隻能python2的環境用

别怕,哥最不缺的就是辦法,解決辦法是重新對python3.6進行編譯安裝,用以下過程來實作編譯安裝:

1. cd Python-3.6.2

2. make clean

3. ./configure --with-ssl

4. make

5. sudo make install

這樣就允許安裝的python3使用ssl功能子產品,進入python3中,執行import ssl發現未出錯,再次調用pip指令來安裝numpy,發現正常,問題解決

繼續閱讀