2013-03-08 19 views
10

我想用自制軟件安裝python,我注意到它有兩個不同的公式,一個用於python 2.x,另一個用於3.x.第一個符號鏈接「python」,另一個使用「python3」。所以我跑了brew install python3在自制軟件中如何將python3符號鏈接改爲「python」

我真的只關心使用python 3,所以我希望默認命令是「python」,而不是每次都輸入「python3」。有沒有辦法做到這一點?我試過brew switch python 3.3,但我得到了一個「在酒窖中找不到python」的錯誤。

+0

如果你真的想這樣做,不要。而是使用virtualenv。 – 2015-08-05 17:09:55

回答

7

你絕對要做不是想做到這一點!你可能只關心Python 3,但很多人編寫的代碼希望python符號鏈接到Python 2.更改這可能會嚴重擾亂你的系統。

+2

如果你在'/ usr/local/bin'或其他地方執行它,你可能不會搞亂任何應該明確使用'/ usr/bin'的系統程序。但是,我同意大多數發行版和用戶仍然認爲'python'的意思是'python2'。這將最終改變。你當然可以選擇在自己的系統的前沿。至少有一個例外:我相信Arch Linux提供了鏈接到'python3'的'python'。 – 2013-03-09 00:12:38

+0

當然。但是,對於Arch,開發人員期望* Py3。如果你在Py2的時候給它一個Py3程序,你可能會對程序進行烘烤。有一些例外,包括跨Python兼容性(這是我努力的目標),但是在大多數情況下,您將打印一個'print xxx'或者一個'x = y/3#int',然後最終進入一個列車破壞。 – pydsigner 2013-03-09 00:44:07

+0

真的,但據推測,OP正在爲自己設置Mac(Homebrew僅限Mac)。用戶要小心。 – 2013-03-09 00:51:31

3

如果您完全確定您永遠不想安裝/使用Python 2,我認爲您可以在/ usr/local/bin中創建其他符號鏈接。 檢查一切鏈接到東西

../Cellar/python3/3.3.0/ 

,並創建無3月末一個鏈接,像

python -> ../Cellar/python3/3.3.0/bin/python3 

三思而後行雖然,爲什麼放棄做兩個蟒蛇副作用的優點通過邊?也許只是按照預期使用自制Python,並用virtualenv創建你的Python 3環境。

2

如果您要這樣做是爲了個人使用,請不要更改python的符號鏈接。您的許多系統程序都依賴於指向Python 2.6的python,如果您更改了符號鏈接,則會破壞它們。

取而代之,選擇一個較短的名稱,如py並在~/.bashrc中爲其寫一個別名,如alias py=python3

例如,測試:

$ echo "alias py=python3" >> ~/.bashrc 
$ bash 
$ py 
>>> 3+3 
6 

這會給你的方便,而不影響系統或其他用戶。

0

是,遠不如用[虛擬環境(https://docs.python.org/3/library/venv.html)爲Python 3不是與系統默認

pyvenv /path/to/new/virtual/environment 

這將設置蟒3作爲默認python並且還隔離pip亂七八糟安裝到該環境這是你想要做的任何項目。

0

如上所述,這不是最好的主意。但是,必要時最簡單的事情是在終端中運行python3。如果你需要爲python3運行一些東西然後運行python3

相關問題