这些都不起作用。在设置我的 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
这也将激活api_server
workon,它会更改您的 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 可执行文件。