2013-05-12 32 views
3

我已經搜索和搜索堆棧溢出的解決方案,但我似乎無法找到任何方法來解決這個問題。基本上,這是我的問題:我試圖使用預裝了Enthought的發行版的Image/PIL Python模塊,但不使用默認的OSX python發行版。Python shebang導入模塊的問題(並選擇正確的解釋器)

請注意PIL/Image導入在enthought外殼上工作。

我的家當是

#!/usr/local/bin/python 

有一種簡單的方法來改變我使用的Python版本?

非常感謝您的幫助。

編輯:我找到了一個解決方案。通過在bash中輸入「which python」(不帶引號),我找到了enthought分佈存儲的目錄。 (/Library/Frameworks/Python.framework/Versions/Current/bin/python)。於是,我不得不向hashbang改變

#!/Library/Frameworks/Python.framework/Versions/Current/bin/python 
+0

我沒有一個很好的答案制定,但我會預測你最好的答案之一將涉及的virtualenv。 – minopret 2013-05-12 03:26:58

回答

2

是。 virtualenv是可以接受的方式來隔離python環境,所以你可以選擇使用任何你想要的python版本。

雖然你可以做你在你的問題自答案也正是上述情況,hashbang切換到

#!/Library/Frameworks/Python.framework/Versions/Current/bin/python 

,你會開始發現事情混淆當你的Python腳本的數量增加,你有做「大衆搜索和替換」,以確保所有腳本指向正確的Python版本。

所以建議確實使用virtualenv及其包裝妹妹mkvirtualenv

,獨自離開hashbang在你的Python腳本。

以及由以下@ shx2提到,使用便攜式家當線

#! /usr/bin/env python 
+0

我應該只是谷歌它找到正確的版本並安裝它,或者有沒有更好的方法? – James 2013-05-12 13:43:47

+0

'python --version'爲您提供系統安裝的python的當前版本。您應該查看macports(如果您使用的是Mac OS X)以瞭解如何下載多個版本的python並使用'port select'管理這些版本。 – 2013-05-12 13:50:04

1

據我所知,最值得推薦的/最便攜的家當​​線是這樣的:

#! /usr/bin/env python