1. 程式人生 > >RHEL 6.6下Python 2.6.6升級到Python 3.6.6

RHEL 6.6下Python 2.6.6升級到Python 3.6.6

 

最近一段時間shell指令碼寫得很溜,很有成就感,一想到被自己落下的Python就感到十分心虛。開始堅持學習Python!先將自己的測試機器的Python升級到Python 3.6.6。簡單整理、記錄一下!

 

1:檢查當前Linux版本&Python版本資訊

 

# more /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.6 (Santiago)
 
# python -V
Python 2.6.6

 

2:下載、解壓Python安裝包

 

注意官方網址提供各個版本,以及不同壓縮格式的安裝包,選擇合適自己的即可。如果Linux不能訪問外網,也可以手工下載上傳。此處略過!

 

 

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

 

 

3:編譯安裝Python 3.6.6

 

 

#cd Python-3.6.6
#./configure --prefix=/usr/local
# make 
# make install  或者  make altinstall
# make clean

 

註釋:

./configure 是用來檢測你的安裝平臺的目標特徵的。比如它會檢測你是不是有CC或GCC,並不是需要CC或GCC,它是個shell指令碼

make 是用來編譯的,它從Makefile中讀取指令,然後編譯。

make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。

make clean:清除編譯產生的可執行檔案及目標檔案(object file,*.o)。

 

注意make install 與 make altinstall的區別:

 

install 除了做 altinstall 外還會做 bininstall , maninstall 共三個動作bininstall 就是在處理 Symbolic Link Chain 的相關事務, 而 maninstall 則是在產生 unversioned manual pages, 所以, 很明顯的, 不使用 bininstall 可以避免 python install 時 update link 的問題。如果使用make install,你將會看到在系統中有兩個不同版本的Python在/usr/bin/目錄中。這將會導致很多問題,而且不好處理。

 

 

4:驗證是否升級成功

 

# python -V
Python 2.6.6
# /usr/local/bin/python3.6 -V
Python 3.6.6

 

 

5:設定環境變數

 

# mv /usr/bin/python    /usr/bin/python.bak
# ln -s /usr/local/bin/python3.6 /usr/bin/python
# python -V
Python 3.6.6

 

 

6配置yum

 

 

如下所示升級 Python 之後由於將預設的python指向了python 36yum不能正常使用需要編輯 yum 的配置檔案

yum clean

  File "/usr/bin/yum", line 30

    except KeyboardInterrupt, e:

                            ^

SyntaxError: invalid syntax

 

 

編輯vim /usr/bin/yum 配置檔案,將第一行記錄#!/usr/bin/python改為#!/usr/bin/python2.6