virtualenvwrapper和Python 3


119

我在ubuntu lucid上安装了python 3.3.1并成功创建了virtualenv,如下所示

virtualenv envpy331 --python=/usr/local/bin/python3.3

envpy331在我的主目录上创建了一个文件夹。

我也已经virtualenvwrapper安装了。但是在文档中仅支持的2.4-2.7版本。python是否有人试图组织python3virtualenv?如果是这样,您能告诉我如何吗?


1
问题是pip仍然是python2 pip,不是吗?我认为您要使用的是virtualenvwrapper pyvenv而不是virtualenv
erikbwork 2015年

Answers:



240

如果您已经安装了python3以及virtualenvwrapper,那么在虚拟环境中使用python3的唯一操作就是使用以下命令创建环境:

which python3 #Output: /usr/bin/python3
mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

或者,(至少在使用brew的OSX上):

mkvirtualenv --python=`which python3` nameOfEnvironment

开始使用环境,您将看到在键入python后立即开始使用python3


12
在OSX上,通过brew并排安装的2.7.8和3.4.1不太适合我。不过,将其修改为“ mkvirtualenv --python =`哪个python3` nameOfEnvironment”效果很好。
克里斯·多格

@ChrisDoggett在Ubuntu 14.10上相同。
2015年

4
在Ubuntu上,该命令为:mkvirtualenv --python = / usr / bin / python3 your-env-name
Vasiliy Toporov 2015年

2
如果您使用bash,则可以进行替换以保存行mkvirtualenv --python=$(which python3) nameOfEnvironment
d4nyll

真正伟大的是创建以下bash别名alias mkvirtualenv3="mkvirtualenv --python=$(which python3.6)"-然后为python 2或3创建virtualenvs很容易
robertmoggach

52

您可以使virtualenvwrapper使用自定义的Python二进制文件,而不是运行一个virtualenvwrapper。为此,您需要使用virtualenv使用的VIRTUALENV_PYTHON变量:

$ export VIRTUALENV_PYTHON=/usr/bin/python3
$ mkvirtualenv -a myproject myenv
Running virtualenv with interpreter /usr/bin/python3
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
(myenv)$ python
Python 3.2.3 (default, Oct 19 2012, 19:53:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

2
这实际上已经过时了。与其设置环境变量,不如使用Jonathan当前建议的--python参数。
AlexLordThorsen

6
@Rawrgulmuffins为什么?这样可以避免为每个新环境指定python版本。
Joost

@Joost这是一个公平的观点。我个人觉得这是一个缺点,但是我可以理解为什么人们会喜欢它。
AlexLordThorsen

21

virtualenvwrapper现在允许您指定不带路径的python可执行文件。

因此(至少在OSX上)mkvirtualenv --python=python3 nameOfEnvironment就足够了。


2
需要两个破折号。可以编辑,但SE需要6个字符,而更改仅需要1个字符。
jwogrady

20

在Ubuntu上;使用使用mkvirtualenv -p python3 env_namepython3加载virtualenv。

在环境内部,用于python --version验证。


1
python --version显示版本
Dos

20

您可以将其添加到您的.bash_profile或类似文件中:

alias mkvirtualenv3='mkvirtualenv --python=`which python3`'

然后在要创建python 3环境时使用mkvirtualenv3代替mkvirtualenv


13

我发现跑步

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

在Ubuntu上的命令行中,强制mkvirtualenv使用python3和virtualenv-3.4。仍然要做

mkvirtualenv --python=/usr/bin/python3 nameOfEnvironment

创造环境。假设您在/ usr / bin / python3中有python3,在/usr/local/bin/virtualenv-3.4中有virtualenv-3.4。


只需使用which python2.4or which python3.5which python3.6查找--python=DIRECTORY
Santhosh 18'8


0

我这样添加export VIRTUALENV_PYTHON=/usr/bin/python3到我的~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENV_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

然后跑 source .bashrc

您可以为每个新环境指定python版本 mkvirtualenv --python=python2 env_name

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.