超詳細的 Linux CentOS 編譯安裝python3

前言:

安裝完CentOS7後,執行#Python與#python -V,看到版本號是2.6,並且以前寫的都是跑在python3.X上面的,3.X和2.X有不少不一樣,在這裏我就不弊述二者之間的區別了新python千萬不要把老版本的刪除!新老版本是能夠共存的,不少基本的命令、軟件包都要依賴預裝的老版本python的,好比yum。python

並且python的多版本是能夠共存的,下面會教你們如何處理共存問題centos

#python官方下載地址網絡

https://www.python.org/downloads/python2.7

第1步:更新gcc,由於gcc版本太老會致使新版本python包編譯不成功

複製代碼代碼以下:工具

#yum -y install gccspa

系統會自動下載並安裝或更新,等它本身結束 3d

注意這裏可能會報錯!主要是提示權限不夠須要切換到root超級用戶下才能夠安裝,以下圖所示調試

執行su命令切換用戶,而後輸入密碼就能夠了,忘記密碼的請看另外一篇博文code

#sublog

第2步:下載Python-3.6.4軟件包

複製代碼代碼以下:
#wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

 

注意:按照上述命令下載的軟件包會存放在你當前的工做目錄下,wget命令是一個從網絡上自動下載文件的自由工具
說明:命令中的數字就是版本號,你也能夠把3.6.4換成你須要的版本,截止至我撰稿時(2017年12月26日),最新可用版本是3.6.4,如上圖所示

查看當前目錄下是否下載了咱們須要的Python-3.6.4.tar.xz

#ls

 

 

第3步:解壓已下載的二進制包並編譯安裝

解壓文件
#xz Python-3.6.4.tar.xz     # 若是這裏下載的是xz文件因此要先解壓一層才能夠用
#tar -xvzf Python-3.3.0.tgz
 進入目錄:
#cd Python-3.6.4 
配置安裝目錄,其餘選項通常默認便可:
#./configure  --prefix=/usr/python      #不配置也能夠,直接./configure命令
開始編譯安裝:
#make          #編譯的過程會比較慢,等一下就行了
#make install    #這裏可能會報錯,緣由是缺乏依賴包,解決辦法直接看底部
#make clean 
#make distclean 
#python3 –V

編譯安裝完畢之後,能夠輸入上面一行命令,查看版本 

第4步:創建軟鏈接指向到當前系統默認python命令的bin目錄

  整個過程大約5-10分鐘,安裝成功以後,安裝目錄就在/usr/python

  系統中原來的python在/usr/bin/python,經過ls -l能夠看到,python是一個軟連接,連接到本目錄下的python2.7

  咱們能夠不用把這個刪除,不對原來默認的環境作任何修改,只新建一個python3的軟連接便可,只是須要執行python3代碼時python要改爲python3,或者python腳本頭部解釋器要改成#!/usr/bin/python3

  這裏創建軟連接以下:

$ ln -s /usr/python/bin/python3 /usr/bin/python3

  這樣就創建好了,之後直接執行python3命令就能夠調用python3了,另外若是仔細看python安裝目錄下的bin目錄,實際上python3也是個軟連接,連接到python3.5.1,這樣屢次連接也是爲了多個版本的管理更加方便,

問題一:

  就是python3交互式界面特別很差用,刪除不能正常使用,必須按Ctrl+刪除鍵才能夠,上下鍵重複命令也沒法使用,左右調整光標也沒法使用,這樣調試代碼效率很低,緣由是python3缺乏readline這個依賴,默認使用pip3 install readline會提示找不到包,因此只能是手動安裝了

  由於readline依賴於ncurses庫,若是沒有這個庫,編譯readline的時候會提示can not find -lncurses,若是在centos環境下能夠執行下面命令安裝:

yum -y install ncurses ncurses-devel

  安裝ncurses庫以後,再安裝readline,readline能夠在pypi下載,地址:https://pypi.python.org/pypi/readline,這裏必定要下載源碼包,其他的只能用於python2,下載以後執行下面命令安裝:

tar -xvzf readline-6.2.4.1.tar.gz
cd readline-6.2.4.1/
python3 setup.py install

  這樣執行完畢就爲python3安裝了readline,而後再進入交互式界面全部的操做都好用了

問題二:

  第一次安裝的時候會報錯:can't decompress data; zlib not available

解決辦法:

  一、安裝依賴zlib、zlib-devel 以及 ncurses ncurses-devel

# yum -y install zlib zlib-devel

 

  二、從新編譯安裝Python

# make install

 

版權全部,以示正版!

 

歡飲你們一塊兒在下方討論。

相關文章
相關標籤/搜索