采用update-alternatives 切換版本
- update-alternatives是Debian提供的一個工具,通過鏈接的方式,但是其切換的過程非常方便。
- 首先看一下update-alternatives的幫助信息:
$ update-alternatives --help
用法:update-alternatives [<選項> ...] <命令>命令:--install <鏈接> <名稱> <路徑> <優先級>[--slave <鏈接> <名稱> <路徑>] ...在系統中加入一組候選項。--remove <名稱> <路徑> 從 <名稱> 替換組中去除 <路徑> 項。--remove-all <名稱> 從替換系統中刪除 <名稱> 替換組。--auto <名稱> 將 <名稱> 的主鏈接切換到自動模式。--display <名稱> 顯示關于 <名稱> 替換組的信息。--query <名稱> 機器可讀版的 --display <名稱>.--list <名稱> 列出 <名稱> 替換組中所有的可用候選項。--get-selections 列出主要候選項名稱以及它們的狀態。--set-selections 從標準輸入中讀入候選項的狀態。--config <名稱> 列出 <名稱> 替換組中的可選項,并就使用其中哪一個,征詢用戶的意見。--set <名稱> <路徑> 將 <路徑> 設置為 <名稱> 的候選項。--all 對所有可選項一一調用 --config 命令。<鏈接> 是指向 /etc/alternatives/<名稱> 的符號鏈接。(如 /usr/bin/pager)
<名稱> 是該鏈接替換組的主控名。(如 pager)
<路徑> 是候選項目標文件的位置。(如 /usr/bin/less)
<優先級> 是一個整數,在自動模式下,這個數字越高的選項,其優先級也就越高。選項:--altdir <目錄> 改變候選項目錄。--admindir <目錄> 設置 statoverride 文件的目錄。--log <文件> 改變日志文件。--force 就算沒有通過自檢,也強制執行操作。--skip-auto 在自動模式中跳過設置正確候選項的提示(只與 --config 有關)--verbose 啟用詳細輸出。--quiet 安靜模式,輸出盡可能少的信息。不顯示輸出信息。--help 顯示本幫助信息。--version 顯示版本信息。
- 首先我們先看一下有沒有關于Python的可選項:
$ update-alternatives --display python
- update-alternatives: 錯誤: 無 python 的候選項
- 那首先先建立python的組,并添加Python2和Python3的可選項
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # 添加Python2可選項,優先級為2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1 #添加Python3可選項,優先級為1
- 注意,這里的/usr/bin/python鏈接文件,兩個可選項必須是一樣的,這樣這個鏈接文件才可以選擇兩個不同的可選項去進行鏈接工作。
- 這時如果我們查看/usr/bin/python這個文件時,會發現它已經鏈接到了/etc/alternatives/python。
- 查看當前版本
$ python --version
Python 2.7.6
使用命令查看python的可以切換的版本,命令如下
$ sudo update-alternatives --config python
選擇 路徑 優先級 狀態
------------------------------------------------------------
* 0 /usr/bin/python2.7 2 自動模式1 /usr/bin/python2.7 2 手動模式2 /usr/bin/python3.4 1 手動模式
- 要維持當前值[*]請按回車鍵,或者鍵入選擇的編號:
- 原來是因為默認選中了自動模式,而Python2的優先級高于Python3,這時候只要鍵入2,就可以使用Python3了。
- 參考鏈接