超詳細的 Linux CentOS 編譯安裝python3


前言:

安裝完CentOS7后,執行#Python與#python -V,看到版本號是2.6,而且之前寫的都是跑在python3.X上面的,3.X和2.X有很多不同,在這里我就不弊述兩者之間的區別了新python千萬不要把老版本的刪除!新老版本是可以共存的,很多基本的命令、軟件包都要依賴預裝的老版本python的,比如yum。

而且python的多版本是可以共存的,下面會教大家如何處理共存問題

#python官方下載地址

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

第1步:更新gcc,因為gcc版本太老會導致新版本python包編譯不成功

復制代碼代碼如下:

#yum -y install gcc

系統會自動下載並安裝或更新,等它自己結束 

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

執行su命令切換用戶,然后輸入密碼就可以了,忘記密碼的請看另一篇博文

#su

第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

解決辦法:

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

# yum -y install zlib zlib-devel

 

  2、重新編譯安裝Python

# make install

 

版權所有,以示正版!

 

歡飲大家一起在下方討論。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM