web-dev-qa-db-fra.com

virtualenvwrapper et Python 3

J'ai installé python 3.3.1 sur Ubuntu lucid et créé avec succès un virtualenv comme ci-dessous

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

cela a créé un dossier envpy331 sur mon répertoire personnel.

J'ai aussi virtualenvwrapper installé.Mais dans la documentation seulement 2.4-2.7 les versions de python sont prises en charge. Est-ce que quelqu'un a essayé d'organiser le python3 virtualenv? Si oui, pouvez-vous me dire comment?

107
damon

Le dernière version de virtualenvwrapper est testé sous Python3.2. Les chances sont bonnes, cela fonctionnera aussi avec Python3.3.

21
unutbu

Si vous avez déjà installé python3 également dans virtualenvwrapper, la seule chose à faire pour utiliser python3 avec l'environnement virtuel consiste à créer un environnement utilisant:

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

Ou, (au moins sur OSX avec brassage):

mkvirtualenv --python=`which python3` nameOfEnvironment

Commencez à utiliser l'environnement et vous verrez que dès que vous tapez python, vous commencerez à utiliser python3.

222
Jonathan

Vous pouvez faire en sorte que virtualenvwrapper utilise un binaire personnalisé Python au lieu de celui avec lequel virtualenvwrapper est exécuté. Pour ce faire, vous devez utiliser la variable VIRTUALENV_PYTHON utilisée par virtualenv:

$ 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.
48
Iliyan Bobev

virtualenvwrapper vous permet maintenant de spécifier l'exécutable python sans le chemin.

Donc (sous OSX au moins) mkvirtualenv --python=python3 nameOfEnvironment suffira.

20
Peter Yin

Sur Ubuntu; utiliser mkvirtualenv -p python3 env_name charge virtualenv avec python3.

Dans env, utilisez python --version pour vérifier.

19
akashbw

Vous pouvez ajouter ceci à votre .bash_profile ou similaire:

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

Puis utilisez mkvirtualenv3 au lieu de mkvirtualenv lorsque vous souhaitez créer un environnement python 3.

16
chorbs

Je trouve que courir

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

et

export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv-3.4

dans la ligne de commande sur Ubuntu force mkvirtualenv à utiliser python3 et virtualenv-3.4. Il reste encore à faire

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

pour créer l'environnement. Cela suppose que vous avez python3 dans/usr/bin/python3 et virtualenv-3.4 dans /usr/local/bin/virtualenv-3.4.

11
CuriousGeorge

Ce post sur le suivi des problèmes de bitbucket de virtualenvwrapper peut être d’intérêt. Il est mentionné ici que la plupart des fonctions de virtualenvwrapper fonctionnent avec les environnements virtuels venv de Python 3.3.

5
Ioannis Filippidis