これらのどれも機能しませんでした。OSXマシンをセットアップするときに最初にPython3をインストールし、pipとすべてのデフォルトをそれに設定しました。
まず、インストールされている python を確認します。
$ `which python` -V
これが「Python 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
これにより、workon もアクティブにapi_server
なり、python 実行可能ファイルが変更されます。
$ which python
/Users/eric/.virtualenvs/api_server/bin/python
$ python -V
Python 2.7.12
実際には何をしwhich python
ますか?PATH にある python 実行可能ファイルのディレクトリを出力します。
$ which python
/usr/local/bin/python
を使用するwhich python
と、基本的に mkvirtualenv ディレクトリ/usr/local/bin/python
のオプションに渡されます。-p
に複数の python 実行可能ファイルが返された場合はどうなりますwhich python
か? 必要なものを見つけて渡すだけです。
$ mkvirtualenv -p /usr/local/bin/python3 api_server
そして、virtualenvwrapper は代わりにその python 実行可能ファイルを使用することになります。