
我已經安裝了 python3.7 但我不知道如何將其設為預設 python。
見下文:
~/Documents/robosuite$ python3.7
Python 3.7.1 (default, Oct 22 2018, 11:21:55)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
KeyboardInterrupt
>>>
~/Documents/robosuite$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
我希望在使用命令時顯示 python3.7python3
答案1
簡單的解決方案是編輯.bashrc
並放置此行:
alias python3=python3.7
每當您編寫時,python3
它都會替換為python3.7
.
或者您可以使用update-alternatives
首選命令,即:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
那麼這裡python3.7
就會有更高的優先權python3.6
。然後使用:
sudo update-alternatives --config python3
若滿意請按回車鍵
答案2
我想擴展一下以前的答案因為所給出的兩種方法並不等同,其中一種甚至可能破壞系統。問題是,透過“更改預設的 python 版本”,人們可能會嘗試做兩件不同的事情。
快速總結
添加
alias python3=python3.7
到.bashrc
。
做不是用於update-alternatives
更改預設的 python 版本,因為這會破壞系統應用程式。
更多細節
Bash 別名
第一個,對於互動式 shell,人們只是希望透過編寫輕鬆打開所需的 python
$ python
或者
$ python3
這是透過添加行來完成的
alias python3=python3.7
到.bashrc
。如果使用其他 shell,請將其新增至相應的設定檔中。這還有一個優點,如果由於任何原因導致問題,人們可以簡單地刪除有問題的線路.bashrc
並重新啟動終端。
update-alternatives
「更改預設 python 版本」的第二件事是更改預設 python 版本全部程序,包括那些不是從互動式 shell 啟動的程式。這是運行的結果
$ sudo update-alternatives --config python3
但是,如果您在 Debian/Ubuntu 的全新安裝中執行此命令,您會注意到該命令返回
update-alternatives: error: no alternatives for python3
即使您通過apt
.這是有充分理由的。
這樣做的問題是,許多系統應用程式使用 python,並且根據具體的發行版,許多應用程式使用 python 3 python3
。雖然不同版本的python 3基本上相容,但仍存在一些問題在版本之間移動和刪除的功能。如果系統應用程式使用這些功能,則變更為python3
啟動較新版本將破壞該應用程式。
測試
我在虛擬機器中全新安裝了 Ubuntu 18.04。添加 bash 別名不會立即引起問題。
使用該update-alternatives
方法會導致apt
.具體來說,我得到了
ModuleNotFoundError: No module named 'apt_pkg'
update-alternatives
如果您運行了該方法,則修復您的系統
如果我們跑了update-alternatives
並且壞了apt
,我們仍然可以修復系統。在我的測試過程中,終端仍然能夠打開。可以透過運行返回到預設的 python
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.X 1000
其中 3.X 是您系統的原始 python 3 版本,1000 只是一些高優先級,以確保它位於頂部。然後,就可以運行
$ sudo update-alternatives --config python3
並確保選擇原始系統python。重新啟動系統即可恢復正常。
答案3
$ sudo su
$ update-alternatives --install /usr/bin/python python /usr/bin/python3 1
....已經python3.7
安裝時
答案4
對於沒有 update-alternatives 指令的機器,可以採取快速而骯髒的解決方案,例如
sudo ln -sf `which python3.7` `which python3`
通常(至少在我見過的所有情況下),python3/python2/python 只是特定版本的 python 可執行檔的符號連結。更改此符號連結應該更改“預設 python”