1. 程式人生 > >centos安裝python3與自帶的python2共存方法

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是否可用: