如何指定用于创建虚拟环境的python版本?

Dan*_*ram 33 python virtualenv python-3.x

我使用python3.6时创建Python虚拟环境virtualenv

~ $ virtualenv my_env

但我需要使用python3.53.6当前不支持Opencv3.

我--python=<py_version>在创建虚拟环境时尝试使用该标志,但这不起作用.

如何指定要virtualenv为Mac和/或Linux 安装的python(3.x)版本?

neh*_*iah 31

假设您已安装python3或任何所需版本的Python(2.6,2.7,3.5,3.6),现在创建虚拟环境时直接传递python可执行文件路径.因此,这里有一些有效的例子

$ virtualenv new_p2_env # Creates a new default python environment (usually python 2)

$ virtualenv -p python3 new_p3_env # Creates a new default python3 (python3 must be a valid command i.e found in the PATH) 
Run Code Online (Sandbox Code Playgroud)

最后

# Directly point to any version of python binary, this can be even another virtualenv's bin/python. 
$ virtualenv -p /path/to/any/bin/python new_env 
Run Code Online (Sandbox Code Playgroud)

  • 这只是使用`python3.6`创建了一个虚拟环境。我想要`python3.5` (3认同)
  • 您可以轻松找到卸载“python3.6”并安装“python3.5”的方法。如果您必须在同一台计算机上保留多个版本的 python,请使用“pyenv”或“pythonbrew”等工具 (3认同)
  • 嘿@itsneo,感谢您的建议!进一步阅读您的评论,我会正确地理解,当您创建一个虚拟环境时,“virtualenv”使用“$PATH”中指定的本地 python 版本(2.x/3.x),并且没有办法通过“virtualenv”命令本身更改特定的python版本? (2认同)
  • 您仍然可以创建一个直接提及 python 可执行路径的文件,例如 `virtualenv -p /usr/local/bin/python35 env_name` (2认同)

小智 7

我在所有 ubuntu 和 MacOS 上工作

乌班图:virtualenv -p python3.6 environment_file

苹果系统 :virtualenv -p python3.6 environment_file

我认为是一样的


小智 7

或者,我认为您可以使用特定版本的Python本身来创建虚拟环境.那样,你肯定知道它是正确的版本:

$ python3.5 -m venv test35
$ ./test35/bin/python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build ) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)

请参阅https://docs.python.org/3.5/library/venv.html


Tho*_*mas 5

从3.3版开始,python包含名为的软件包venv。但是,该软件包不能提供与传统virtualenv软件包相同的功能。

venv仅允许为其安装的python版本创建虚拟环境。 virtualenv通过提供二进制文件的路径,允许为不同版本的python创建虚拟环境。

为不同版本的python创建虚拟环境:

因此,假设有人安装了python 2.7和python 3.6,/path/to/并想创建分别env-py36用python 3.6和env-py27python 2.7 命名的虚拟环境。

# create a virtual env with python3's venv :
/path/to/python36/bin/python3 -m venv /my/python-venvs/env-py36
. /my/python-venvs/env-py36/bin/activate
# we're now running python 3's "env-py36" virtual env, we want to install the "virtualenv" package
pip install virtualenv
deactivate
# now use virtualenv to create a virtual environment for python 2.7
/my/python-venvs/env-py36/bin/virtualenv --python=/path/to/python27/bin/python /my/python-venvs/env-py27
Run Code Online (Sandbox Code Playgroud)

使用python 3.3+ venv

Python 3.3以上版本:

/path/to/python3/bin/python3 -m venv ENV_DIR
Run Code Online (Sandbox Code Playgroud)

Python 3.3至3.5(在3.6+中已弃用):

/path/to/python3/bin/pyvenv ENV_DIR
Run Code Online (Sandbox Code Playgroud)

资料来源: