多個python版本切換

2021-08-21 03:33:32 字數 3637 閱讀 1041

你可以按照以下方法使用 ls 命令來檢視你的系統中都有那些 python 的二進位制檔案可供使用。?

12

$ls/usr/bin/python*

/usr/bin/python/usr/bin/python2/usr/bin/python2.7/usr/bin/python3/usr/bin/python3.4/usr/bin/python3.4m/usr/bin/python3m

執行如下命令檢視預設的 python 版本資訊:?

12

$ python --version

python 2.7.8

1、基於使用者修改 python 版本:

想要為某個特定使用者修改 python 版本,只需要在其 home 目錄下建立乙個 alias(別名) 即可。開啟該使用者的 ~/.bashrc檔案,新增新的別名資訊來修改預設使用的 python 版本。?

1aliaspython='/usr/bin/python3.4'? 1

$ . ~/.bashrc

檢查當前的 python 版本。?

12

$ python --version

python 3.4.2

2、 在系統級修改 python 版本

我們可以使用 update-alternatives 來為整個系統更改 python 版本。以 root 身份登入,首先羅列出所有可用的 python 替代版本資訊:?

12

# update-alternatives --list python

update-alternatives: error: no alternativesforpython

如果出現以上所示的錯誤資訊,則表示 python 的替代版本尚未被 update-alternatives 命令識別。想解決這個問題,我們需要更新一下替代列表,將 python2.7 和 python3.4 放入其中。?

12

3

4

# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

update-alternatives: using/usr/bin/python2.7 to provide/usr/bin/python(python)inauto mode

# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2

update-alternatives: using/usr/bin/python3.4 to provide/usr/bin/python(python)inauto mode

–install 選項使用了多個引數用於建立符號鏈結。最後乙個引數指定了此選項的優先順序,如果我們沒有手動來設定替代選項,那麼具有最高優先順序的選項就會被選中。這個例子中,我們為 /usr/bin/python3.4 設定的優先順序為2,所以update-alternatives 命令會自動將它設定為預設 python 版本。?

12

# python --version

python 3.4.2

接下來,我們再次列出可用的 python 替代版本。?

12

3

# update-alternatives --list python

/usr/bin/python2.7

/usr/bin/python3.4

現在開始,我們就可以使用下方的命令隨時在列出的 python 替代版本中任意切換了。?

1# update-alternatives --config python

1

2

# python --version

python 2.7.8

3、移除替代版本

一旦我們的系統中不再存在某個 python 的替代版本時,我們可以將其從 update-alternatives 列表中刪除掉。例如,我們可以將列表中的 python2.7 版本移除掉。?

12

3

4

# update-alternatives --remove python /usr/bin/python2.7

update-alternatives: removing manually selected alternative - switching python to auto mode

update-alternatives: using/usr/bin/python3.4 to provide/usr/bin/python(python)inauto mode

方法2、移除軟連線?

1

2

3

rm-rf/data/logs

ln-s/temp/logs/data/logs

解決軟連線ln報錯-bash: /usr/local/bin/mysql: too many levels of symbolic links

總結

關於多個版本python的切換呼叫

借用py的乙個引數來呼叫不同版本的python。py 2呼叫python2,py 3呼叫的是python3.然後如果用pip py 2 m pip install lxml py 3 m pip install lxml 執行.py檔案 兩種方法。1 py 2 檔名 py 3 檔名 2 你直接在指令...

切換python版本

alternatives這麼好的機制用起來呀。shell裡執行 sudo update alternatives install usr bin python python usr bin python2 100 sudo update alternatives install usr bin py...

切換python版本

由於歷史原因,python有兩個大的版本分支,python2和python3,又由於一些庫只支援某個版本分支,所以需要在電腦上同時安裝python2和python3,因此如何讓兩個版本的python相容,如何讓指令碼在對應的python版本上執行,這個是值得總結的。因為不論python2還是pyth...