應用環境:
Centos7或者RHEL7下默認安裝的python版本為2.7.x,更新不夠及時,現在很多時候需要額外安裝較高版本的python環境,
網上搜羅一圈總結記錄一下常用兩種方式:
① 源碼編譯安裝
② 第三方SCLo源安裝
測試環境:
CentOS 7.4 minimal(虛擬機)
安裝步驟:
方法一:源碼編譯安裝(推薦)
1. 下載源碼包(官方下載:https://www.python.org/downloads/source/)
[root@server-1 ~]# wget http://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz
2. 安裝編譯依賴
1
|
[root@server-1 ~]
# yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel gcc gcc-c++ make
|
3. 編譯安裝
[root@server-1 ~]# tar zxvf Python-3.5.5.tgz [root@server-1 ~]# cd Python-3.5.5 [root@server-1 Python-3.5.5]# ./configure --prefix=/opt/python3.5.5 [root@server-1 Python-3.5.5]# make && make install
4. 檢查
[root@server-1 Python-3.5.5]# cd /opt/python3.5.5/
5. 將高版本python配置到環境變量
[root@server-1 ~]# echo 'export PATH=$PATH:/opt/python3.5.5/bin' >> /etc/profile [root@server-1 ~]# . /etc/profile
6. 修改系統默認python版本為python3
[root@server-1 ~]# mv /usr/bin/python /usr/bin/python2.7.5 //把原來的重命名 [root@server-1 ~]# ln -s /opt/python3.5.5/bin/python3 /usr/bin/python
7. 解決python默認版本升級后yum不能正常工作
原因:yum報錯是因為yum運行后,其配置文件中指定python(默認2.x)版本不對了,因為我們上面將高版本的python做了軟連接至/usr/bin/python。
處理:重新修改配置文件中的python指向
[root@server-1 ~]# vim /usr/bin/yum
保存,退出;再次運行yum命令即可正常;
說明:其實不推薦修改系統的默認python版本,雖然方便,但是譬如以上出現的yum命令問題,雖然容易解決,但是,整個系統中不僅僅是
yum單獨這個命令用到了調用了python,還設有其他文件或者文件也用到,解決方法可以一如既往地嘗試修改頭部python版本,不過
就怕萬一遺忘在某次使用中。或者可以在使用python命令的時候不嫌麻煩地帶上個數字3,即python3 。
補充:需要修改python頭文件的還有以下文件:
/usr/libexec/urlgrabber-ext-down
/usr/bin/yum-config-manager (yum-utils包生成)
方法二:第三方yum源安裝
1. 下載SCLo源
[root@server-1 ~]# yum -y install centos-release-scl-rh
2. yum安裝所需python版本
[root@server-1 ~]# yum install rh-python36
3. 載入環境變量
[root@server-1 ~]# scl enable rh-python36 bash
4. 檢查
5. 使開機啟動生效
[root@server-1 ~]# vim /etc/profile
添加如下兩句:
source /opt/rh/rh-python36/enable export X_SCLS="`scl enable rh-python36 'echo $X_SCLS'`"
說明:此種安裝方式比較便捷,不過需要主機可以聯網,並且部分關鍵字和命令不夠通用熟悉。
結束.