centos安裝python3與自帶的python2共存方法
目的:由於centos自帶的python是2,我們要安裝python3,並使2和3共存,通過python2來呼叫2,python3來呼叫3
自帶的python的軟連線的結構是,python指向python2,python2指向python2.6
且自帶的python沒有安裝pip即pip命令無效果
1.檢查系統自帶的python是什麼版本的
whereis python
2.安裝python3
新建python3的目錄
[[email protected] ~]$ mkdir myProject
[[email protected] ~]$ cd myProject
[[email protected] myProject]$ mkdir python3
[[email protected] myProject]$ cd python3/
執行下面命令安裝python3
[[email protected] python3]$ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
上圖表示下載完畢
[[email protected] python3]$ tar -xvJf Python-3.6.2.tar.xz
[[email protected] python3]$ cd Python-3.6.2
編譯:
[[email protected] Python-3.6.2]$ ./configure --prefix=/home/hadoop/myProject/python3/
出現上圖為編譯完成
安裝:
[[email protected] Python-3.6.2]$ make && make install
出現上圖說明環境依賴問題:
使用root使用者執行下面命令:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
[[email protected] Python-3.6.2]$ cd /home/hadoop/myProject/python3/Python-3.6.2
再次安裝
[[email protected] Python-3.6.2]$ make && make install
建立軟連線
使用root使用者執行下面命令:
先修改舊版本
[[email protected] Python-3.6.2]$ mv /usr/bin/python /usr/bin/python.bak
建立python3及pip的軟連結
[[email protected] Python-3.6.2]$ ln -s /home/hadoop/myProject/python3/bin/python3 /usr/bin/python3
[[email protected] Python-3.6.2]# ln -s /home/hadoop/myProject/python3/bin/pip3 /usr/bin/pip3
[[email protected] Python-3.6.2]# python3
但是我們輸出python2發現沒效果,是因為如下圖所示,在/usr/bin/下面,沒有python2的連結。所以我們執行python2.6發現是可以的
[[email protected] bin]# python2.6
千萬不要覺得彆扭我們就把python2.6改成python2!!!!(如果執行下面程式碼會有很多的問題,比如在啟動saltstack的時候還要修改/etc/init.d/salt-master裡面的原始碼!!很麻煩,據我推斷應該有很多的東西都是使用系統預設的python庫的,但是現在還不知道如何解決)
[[email protected] bin]# mv /usr/bin/python2.6 /usr/bin/python2
3.修改yum依賴的python
執行yum發現報錯
是因為執行yum需要python2版本,所以我們還要修改yum的配置,執行:
[[email protected] yum.repos.d]# vi /usr/bin/yum
把python改成python2.6
更改後如下圖:
最後驗證yum是否可用: