前言:
安裝完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
版權所有,以示正版!
歡飲大家一起在下方討論。