当我使用virtualenv
创建我的Python虚拟环境时,它们使用python3.6
~ $ virtualenv my_env
但是我需要使用python3.5
,因为3.6目前不受Opencv3
支持。
我已尝试在创建虚拟环境时使用--python=<py_version>
标志,但这并不起作用。
当我使用virtualenv
创建我的Python虚拟环境时,它们使用python3.6
~ $ virtualenv my_env
但是我需要使用python3.5
,因为3.6目前不受Opencv3
支持。
我已尝试在创建虚拟环境时使用--python=<py_version>
标志,但这并不起作用。
virtualenv
指定要安装的Python(3.x)版本?假设您已经安装了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/bin/python new_env
python3.6
的虚拟环境。我想要python3.5
。 - Danorampython3.6
并安装python3.5
的方法。如果你确实需要在同一台机器上保留多个版本的Python,可以使用像pyenv
或pythonbrew
这样的工具。 - nehemvirtualenv
使用在$PATH
中指定的本地Python版本(2.x/3.x),并且没有通过virtualenv
命令本身更改特定Python版本的方法? - Danoramvirtualenv -p /usr/local/bin/python35 env_name
。 - nehemvirtualenv -p python3.9 venv
。 - Ari另外,我认为您可以使用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.
>>>
conda
创建了虚拟环境。现在一切都正常工作,这让我感到非常宽慰。 - Danoram/opt/srv/whatever/path/to/python345/bin/python -m venv test345
将为其创建一个虚拟环境。 - tripleeevenv
的包。然而,该包并没有像传统的virtualenv
包提供相同的功能。
venv
只允许为其安装的Python版本创建虚拟环境。
通过提供二进制文件路径,virtualenv
允许为不同的Python版本创建虚拟环境。
/path/to/
中,并且想要分别创建名为env-py36
的Python 3.6虚拟环境和名为env-py27
的Python 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
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
我同时在Ubuntu和MacOS上工作
Ubuntu:
virtualenv -p python3.6 environment_file
Mac OS:
virtualenv -p python3.6 environment_file
我认为它们是相同的
我遇到了一个问题(并来到这里),但是这个问题出现在Windows系统下。Python 3.9已安装在一台计算机上,但它在开发时仍然存在与3.7不兼容的问题。我想使用虚拟环境将版本降级到3.7以帮助调试问题。使用Python Launcher for Windows:
py -3.7 -m venv my_env
在Python项目文件夹中为我解决了这个问题。
安装Python 3.7及其虚拟环境包。
sudo apt-get install python3.7-dev python3.7-venv
通过以下命令找出Python 3.7的位置:
which python3.7
(应该类似于/usr/bin/python3.7)
在主目录中创建虚拟环境。
cd
mkdir virtual_env
/usr/bin/python3.7 -m venv ~/virtual_env/venv_with_python3.7
source ~/virtual_env/venv_with_python3.7/bin/activate
python --version
(现在应该是Python 3.7)
完成。Python 3.7可以在此虚拟环境中使用。键入which python
,您将看到已在虚拟环境中创建了Python 3.7,而不是全局系统中。
需要停用时运行deactivate
。
使用Anaconda,我们可以通过运行以下命令创建一个名为“py35_env”的虚拟环境,并使用Python 3.5版本:
conda create --name py35_env python=3.5
--python
标志方面是正确的,因此你的环境或调用中还有其他问题。你能提供错误信息吗? - Cody Piersallconda install python=3.5
,以为这会改变我的环境内Python分发版本,但实际上它改变了本地版本。我改回到3.6,但现在遇到了这个问题,但那里的答案对我不起作用。哦天啊,我做了什么。 - Danoramminiconda
改变了路径变量为/Users/.../miniconda3/bin:
,这与virtualenv
使用的 Python 版本不兼容。从路径中删除/Users/.../miniconda3/bin
可以解决问题,但是我就不能使用conda
了... 我知道这现在是一个单独的问题,但有什么办法可以将其添加回路径而不会弄乱 virtualenv 吗? - Danoram