2011-05-28 68 views
1

我已經安裝了使用macports的Python 2.7,並且因爲我的$ PATH變量,這就是我輸入$ python時得到的那個變量。然而,virtualenv默認使用Python 2.6,除非我記得用-p標誌強制執行它。系統python與用戶python

與此相關,在全球運行蛋黃-l顯示以下內容:

Python   - 2.6.1  - active development (/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload) 

所以我的問題是,我應該做的事情,以確保系統始終使用的MacPorts'的Python 2.7或者是不值得擔心蘋果的Python 2.6.1顯然是混合在一起的?

回答

2

如果您在系統上全局強制使用python 2.7,則事情將會中斷。你不想這樣做。

您應該使用virtualenvwrapper。它應該選擇你喜歡的Python。

http://www.doughellmann.com/docs/virtualenvwrapper/install.html#python-interpreter-virtualenv-and-path

+0

嗯。收到一個錯誤:$源/usr/local/bin/virtualenvwrapper.sh 回溯(最近通話最後一個): 文件 「」,1號線,在 導入錯誤:沒有模塊名爲virtualenvwrapper.hook_loader virtualenvwrapper.sh:運行初始化掛鉤時出現問題。如果Python無法導入模塊virtualenvwrapper.hook_loader,請檢查是否爲VIRTUALENVWRAPPER_PYTHON =/opt/local/bin/python安裝了virtualenv,並且PATH設置正確。 – wmfox3 2011-05-28 04:07:20

1

我有過類似的問題,雖然沒有具體涉及virtualenv。我發現,在使用macports安裝特定版本的python並將該版本設置爲默認版本後,安裝基於python構建或使用python的第三方模塊可解決所有問題。基本上,最終的並行構建是在不同版本的Python之上。我有一些,並使用python_select在它們之間切換。另外,請參閱here on SO瞭解如何讓easy_install與您的新python配合使用。

+0

偉大的建議,juanchopanza。你碰巧知道當前相當於python_select -l,因爲我現在不得不使用sudo port select python在macports之間切換版本嗎? – wmfox3 2011-05-29 13:15:22

+0

我使用'python_select',我必須從macports中獲取。要更改版本,我確實需要'sudo',因爲它將它設置爲所有用戶的默認值。 – juanchopanza 2011-05-29 13:47:41

+0

我相信python_select已經在macports中被棄用了。 http://stackoverflow.com/questions/118813/how-do-i-uninstall-python-from-osx-leopard-so-that-i-can-use-the-macports-version/6166416#6166416 – wmfox3 2011-05-29 15:52:16