這些都沒有工作。我在安裝我的OSX機器時首先安裝了Python3,並且所有的默認都是pip。
首先,檢查哪些Python中,你已經安裝:
$ `which python` -V
如果返回 「巨蟒2.7.12」,然後就被設置爲運行:
$ mkvirtualenv -p `which python` api_server
Running virtualenv with interpreter /usr/local/bin/python
New python executable in /Users/eric/.virtualenvs/api_server/bin/python2.7
Also creating executable in /Users/eric/.virtualenvs/api_server/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/eric/.virtualenvs/api_server/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/eric/.virtualenvs/api_server/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/eric/.virtualenvs/api_server/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/eric/.virtualenvs/api_server/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/eric/.virtualenvs/api_server/bin/get_env_details
這也將激活api_server
workon,它改變你的python可執行文件:
$ which python
/Users/eric/.virtualenvs/api_server/bin/python
$ python -V
Python 2.7.12
是什麼其實呢?它輸出在PATH中發現的蟒蛇可執行文件的目錄:
$ which python
/usr/local/bin/python
使用which python
,你基本上傳遞/usr/local/bin/python
在mkvirtualenv目錄-p
選項。
當您在which python
中返回多個python可執行文件時會發生什麼?只要找到一個你想要的,並傳遞它:
$ mkvirtualenv -p /usr/local/bin/python3 api_server
而且virtualenvwrapper最終會使用Python的可執行文件來代替。
沒有通過'端口選擇...'並堅持你的基地2.7,只是運行'mkvirtualenv --python/path/to/python2.6'工作? 它應該自動切換到(並設置環境)正確的解釋器。在我的系統上(設置自制軟件),'mkvirtualenv -p python2.6'正常工作。 –
我沒有得到hook_loader錯誤,但它抱怨缺少DEST_DIR $ mkvirtualenv --python /opt/local/bin/python2.7 運行virtualenv時帶有解釋器/opt/local/bin/python2.7 您必須提供一個DEST_DIR – wmfox3
哎呀,對不起 - 忽略了關鍵的論點!這應該是'mkvirtualenv --python /path/to/python2.6 env_name'。 mkvirtualenv在你的'$ WORKON_HOME'中創建一個名爲「env_name」的文件夾,並將其作爲'DEST_DIR'參數傳遞給virtualenv。如果沒有指定名稱,那麼很難確定設置的位置,這是肯定的。 –