Linux下切換Python版本

這兩天遇到一個問題需要在 python3 的環境下進行測試,由於Linux默認已經安裝了Python2.7,並且作者一直也在使用 ,所以需要重新安裝並臨時切換到 python3。

在網上查到很多資料,但是每一篇都講的不全,需要結合起來看才行。

所以作者簡單整理了下,希望能通過這篇文章,希望即能讓大家達成效果,又能真正理解其中的原理。

簡單來說,要安裝並切換到 python3,需要依次進行以下3個操作:

下載解壓
編譯安裝
切換(修改默認鏈接)
即使使用虛環境,也是需要執行以上3步,因爲創建虛環境的時候也會默認安裝 python2 的版本。

下載解壓
1> 下載Python源碼
地址:https://www.python.org/downloads/
Linux下切換Python版本Linux下切換Python版本

我們這裏下載了 3.6.3 版本 .tgz 後綴的文件。

2> 解壓
1)、# tar -xvzf Python-3.6.3.tgz
2)、# cd Python-3.6.3

編譯安裝
1)、# ./configure --prefix=/usr/local/python3.6.3
2)、# make
3)、# make install

安裝完後,我們可以在 /usr/local/python3.6.3 目錄下看到:
Linux下切換Python版本

如果執行“./configure”時,不指定“–prefix=/usr/local/python3.6.3”,則默認會安裝在 /usr/local/ 目錄下。
也就是說,圖上的4個目錄文件(bin、include、lib、share)會安裝在 /usr/local/ 目錄下,與該目錄下原有的目錄文件合併。

進入 bin 目錄,我們便可以看到 python3 和 pip3 命令:
Linux下切換Python版本

雖然我們可以在該路徑下(/usr/local/python3.6.3/bin)使用 python3 和 pip3 命令,或是添加 path 環境變量後在任意路徑使用,但使用時始終要加 “3”,而不是我們通常用的 python 和 pip。

切換(修改默認鏈接)
我們通常使用的 python 和 pip 命令,都是放在 /usr/bin/ 目錄下
Linux下切換Python版本

所以,我們需要讓這裏的 python 和 pip 命令 軟鏈接到我們的 python3 和 pip3 命令。

有以下兩種方式(2選1即可):

1、手動
2、藉助命令
手動:
1)、# cd /usr/bin

2)、# mv python python.back //備份原先的python
3)、# ln -s /usr/local/python3.6.3/bin/python3 /usr/bin/python

4)、# mv python python.back //備份原先的pip
5)、# ln -s /usr/local/python3.6.3/bin/pip3 /usr/bin/pip

這是,我們再使用 python –version 和 pip –version 就可以看到版本已經切換好了
Linux下切換Python版本

藉助命令
這裏我們藉助的命令就是:update-alternatives

update-alternatives是dpkg的實用工具,用來維護系統命令的符號鏈接,以決定系統默認使用什麼命令。

python
添加 python 的符號鏈接

1)、# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100 //添加原先python2.7的

2)、# update-alternatives --install /usr/bin/python python /usr/local/python3.6.3/bin/python3 2 //添加新安裝python3.6.3的

修改 python 的符號鏈接:

3)、# update-alternatives --config python
Linux下切換Python版本

pip
添加 pip 的符號鏈接

1)、# update-alternatives --install /usr/bin/pip pip /usr/bin/pip2.7 100 //添加原先pip2的

2)、# update-alternatives --install /usr/bin/pip pip /usr/local/python3.6.3/bin/pip3 2 //添加新安裝pip3的
修改 pip 的符號鏈接:

3)、# update-alternatives --config pip
Linux下切換Python版本

其他注意事項

切換到 python3 後,可能會造成一些命令不能使用,如:yum。
這是因爲這些命令不兼容 python3,只需要將其修改爲使用原先的 python2 即可。

如下圖,把文件頭部的 #!/usr/bin/python 改成 #!/usr/bin/python2.7 。
Linux下切換Python版本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章