2013-03-18 35 views
2

我在做一個Python代碼的維護。 Python安裝在/usr/bin,代碼安裝在/aaa,python 2.5安裝在/aaa/python2.5下。我每次運行Python時,都會使用/usr/bin之一。如何使它運行/aaa/python2.5如何在不同目錄下運行python?

而且當我運行Python -v; import bbb; bbb.__file__;它會自動顯示它使用bbb模塊/usr/ccc/下(不知道爲什麼),/aaa/python2.5/lib

下,而不是使用bbb模塊如何讓它運行的python2.5和使用`/ aaa/python2.5/lib'模塊?我問這個問題的原因是,如果我們維護一個代碼,但其他人仍在使用它,我們需要將代碼安裝在一個新目錄下並修改它,運行它並進行調試。

回答

1

更改shebang-line(如果有這樣一條線)

Nomally

#!/usr/bin/env python 

用於啓動路徑中首次發現Python解釋器,這是多麼的virtualenv的作品,即它改變了路徑,以便選擇的解釋器放在第一位,上面的行簡單地起作用。

在你的榜樣,我改變對

#!/aaa/python2.5 

注意,可執行標誌已被設置爲這個工作。 實施例:

$ chmod u+x script.py 
$ ./script.py 

如何蟒搜索的用於模塊的描述見PYTHONPATH

+0

感謝您的所有答案。在/ aaa下有代碼zzz.py,它有一行'import bbb'。目前當我運行zzz.py時,我認爲它會自動調用/ usr/ccc /下的bbb模塊(其他人使用,我無法修改它)。我如何強制它使用/aaa/python2.5/lib下的bbb模塊? – truelies 2013-03-18 22:29:27

+0

@truelies - 請參閱update,您需要正確設置PYTHONPATH和/或PYTHONHOME變量 – 2013-03-19 08:53:39

1

/aaa/python2.5 python_code.py。如果您經常使用Python 2.5,請考慮更改$PATH變量以使Python 2.5成爲默認值。

0

添加到您的.bash_profile文件(創建,如果不存在,這是一個隱藏文件):

python25(){ 
    /aaa/python2.5 "$1" 
} 

現在你可以使用Python(最新)和Python 2.5:

$ python my_file.py 

$ python25 my_file.py 

好運!

相關問題