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

时间:2017-07-25 03:31:12

标签: python python-3.x virtualenv

我使用core.commentChar = auto

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

virtualenv

但我需要使用~ $ virtualenv my_env,因为3.6是not currently supported by Opencv3.

我在创建虚拟环境时尝试使用python3.5标志,但这不起作用。

如何使用--python=<py_version>为Mac和/或Linux指定要安装的python(3.x)版本?

5 个答案:

答案 0 :(得分:24)

假设您已安装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) 

最后

# Directly point to any version of python binary, this can be even another virtualenv's bin/python. 
$ virtualenv -p /path/to/any/python/executable new_env 

答案 1 :(得分:5)

或者,我认为您可以使用特定版本的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.
>>>

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

答案 2 :(得分:3)

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

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

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

因此,假设在/path/to/中安装了python 2.7和python 3.6,并希望创建分别使用python 3.6和env-py36使用python 2.7

分别命名为env-py27的虚拟环境

# 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

使用python 3.3+ venv

Python 3.3+:

/path/to/python3/bin/python3 -m venv ENV_DIR

Python 3.3到3.5(不推荐使用3.6+):

/path/to/python3/bin/pyvenv ENV_DIR

来源:

答案 3 :(得分:2)

我遇到了这个问题(来到这里)但在 Windows 下。 Python 3.9 安装在一个系统上,但在 3.7 下开发的代码存在问题。我想使用虚拟环境降级到 3.7 以帮助调试问题。使用 Windows 版 Python 启动器

py -3.7 -m venv my_env

在 python 项目文件夹中对我有用。

答案 4 :(得分:0)

我在所有的ubuntu和MacOS上工作

  

Ubuntu:virtualenv -p python3.6 environment_file

     

Mac OS:virtualenv -p python3.6 environment_file

我认为它是相同的