我如何告诉 mkvirtualenv 我想使用 Python 的哪个版本?

How can I tell mkvirtualenv which version of Python I'd like to use?

我对使用 mkvirtualenv 时安装的 Python 版本感到困惑。在任何 virtualenv 之外,这就是我所拥有的。

$ which python 
/opt/local/bin/python    << MacPorts installed Python
$ python -V
Python 2.7.13
$ python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 1.0.2k  26 Jan 2017

到目前为止还可以。

现在,制作 virtualenv...

$ mkvirtualenv foo
[normal stuff here]
(foo) $ which python
/Users/me/Workspace/venvs/foo/bin/python
(foo)$ python -V
Python 2.7.10

为什么是 python 2.7.10?而不是 python 2.7.13?

$ python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 0.9.8zh 14 Jan 2016

这是哪里来的?

我如何告诉 mkvirtualenv 我想使用 Python 的哪个版本?

使用-p(或--python选项)指定python可执行路径:

mkvirtualenv -p `which python` foo

确切地说,it's virtualenv option. mkvirtualenv 将未知选项直接传递给 virtualenv