2013-03-24 44 views
1

我下載蟒蛇3.3.0這是最新的版本,我安裝完 現在我想在我的CentOS linux下運行,但是當我在控制檯鍵入「python」,與os安裝運行捆綁在一起的python 2.7.0。 我該如何改變它運行3? 我隱約覺得,我不得不改變關於bin文件夾或路徑的東西代碼Python 3.x都有安裝,但蟒蛇UNIX命令啓動的Python 2.x的

+0

你是通過百勝安裝的,還是手動做的? – ivica 2013-03-24 13:51:52

+1

嘗試執行:ls -la/usr/bin | grep python 有符號鏈接,例如蟒蛇 - > python2.7 所以我想你可以改變這個鏈接到python - > python3.3 – rzymek 2013-03-24 13:54:27

+0

@rzymek:這是不行,看到下面的答案 – 2013-03-24 14:02:23

回答

3

如果從運行命令行python,名爲python可執行搜索順序由您$PATH環境變量確定。 echo $PATH會告訴你你的路徑搜索順序;早期的目錄優先於後者。

如果您輸入which python,您會看到您的機器確定爲搜索路徑中的第一個python

最有可能的,但是,在這裏你有內部/usr/local/bin/usr/bin命名python指向蟒蛇二進制符號鏈接的情況。

在大多數系統中,實際上有兩個符號鏈接,

python -> pythonX 
pythonX -> pythonX.Y 

例如,

python -> python2 
python2 -> python2.7 

你可以看到你python是否真的僅僅是一個什麼符號鏈接像

ls -l $(which python) 

就我而言,這給了我:

/usr/local/bin/python -> python2 

顯示Python是通過鍵入

ls -l $(which python2) 

在我的情況下,以python2

我能走得更遠一個符號,這給了我

/usr/local/bin/python2 -> python2.7 

所以無論如何,你有幾個選擇

1)在$PATH食物鏈上的某個目錄中,將一個從python開始的符號鏈接添加到您想要的python版本(可能是python3)中 - 位於列表中較早的一個目錄中。例如,/usr/local/bin通常高於/usr/bin

2)更改您當前的python符號鏈接以指向您想要的Python版本。通常這是通過將的強制標誌添加到ln來完成的。

3)明確聲明您希望通過在命令行中輸入python3或使用#!/bin/env python3作爲腳本中的散列函數來運行python 3.x。

4)別名pythonpython3在您的.bashrc或同等文件(例如)中。

前兩個選項可能會有比您預期的更廣泛的影響。例如,他們將打破yum包管理器,因爲它只指定python

第三個可能會有些乏味,但它更精確,並且會允許所有的東西,默認情況下,使用python2,除了你特別調用python3的腳本。

最後是一個體面的妥協,讓您輕鬆輸入python但不影響其他用戶。

這一切都取決於你真的。

+0

非常感謝,你加入了我的知識關於Linux – 2013-03-24 14:26:40

6

嘗試命令:

python3.3 

或者

python3 

Python命令和兼容性http://www.python.org/dev/peps/pep-0394/

您不應該通過將Python 3符合Python 2,b來更改系統默認值ecause這可能會中斷您的操作系統,它依賴於一個事實,即系統默認python是的Python 2.x的。如果你想運行Python 3,當你鍵入命令python附加

(通過啓動腳本,應用程序等的統稱)下面給你的shell configuratin文件:

alias python=python3 
+0

OP似乎想知道如何運行'python3'解釋器*只需在他的源文件中輸入*'python'或使用'#/ bin/python'。你的回答並不完全回答。 – asermax 2013-03-24 13:59:44

+2

澄清,這是不是 – 2013-03-24 14:01:53

+0

謝謝你清楚的答案:) – 2013-03-24 14:27:27