如何使virtualenv运行Python 3而不是Python 2.7?

Jef*_*ant 5 virtualenv python-2.7 python-3.x

在Mac上,如果我只是打开一个新的终端窗口并运行:

python --version
Run Code Online (Sandbox Code Playgroud)

我得到:

3.6
Run Code Online (Sandbox Code Playgroud)

但是如果我这样做:

 virtualenv venv && source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后,在那种环境下,我运行:

python --version
Run Code Online (Sandbox Code Playgroud)

我得到:

2.7
Run Code Online (Sandbox Code Playgroud)

我需要virtualenv才能运行3.6。我怎么做?

这个 :

/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

是2.7,但这是:

/usr/local/bin/python 
Run Code Online (Sandbox Code Playgroud)

是3.6。我的普通用户的使用路径/usr/local/bin之前已经提到过/usr/bin/。virtualenv是否以其他人身份运行?如何控制其路径?

我跑了这个:

virtualenv -p /usr/local//Cellar/python/3.6.5/bin/python3 venv
Run Code Online (Sandbox Code Playgroud)

但是然后我这样做:

virtualenv venv && source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)

我在2.7的环境中运行。

wim*_*wim 13

在Python 3上,您不再需要virtualenv脚本,您只需使用标准lib随附的venv模块:

python3 -m venv myvenv
Run Code Online (Sandbox Code Playgroud)

但是,如果您确实想继续使用旧virtualenv脚本,则可以-使用以下-p选项明确指定解释器:

virtualenv -p /path/to/python3 myvenv
Run Code Online (Sandbox Code Playgroud)