web-dev-qa-db-fra.com

Comment obliger virtualenv à exécuter Python 3 au lieu de Python 2.7?

Sur Mac, si j’ouvre simplement une nouvelle fenêtre de terminal et lance:

python --version

Je reçois: 

3.6

mais si je fais ceci:

 virtualenv venv && source venv/bin/activate

et puis, dans cet environnement, je lance:

python --version

Je reçois: 

2.7

J'ai besoin de virtualenv pour exécuter 3.6. Comment je fais ça? 

Ce :

/usr/bin/python

est de 2,7 mais ceci:

/usr/local/bin/python 

est 3.6. Le chemin pour mon utilisateur normal a /usr/local/bin venir avant /usr/bin/. Virtualenv fonctionne-t-il comme quelqu'un d'autre? Comment puis-je contrôler son chemin? 

J'ai couru ceci:

virtualenv -p /usr/local//Cellar/python/3.6.5/bin/python3 venv

mais alors je fais ceci:

virtualenv venv && source venv/bin/activate

et je cours dans un environnement avec 2.7. 

3
JeffGallant

Sur Python 3, vous n'avez plus besoin du script virtualenv, vous devez simplement utiliser le module venv inclus dans la bibliothèque standard:

python3 -m venv myvenv

Mais si vous voulez vraiment continuer à utiliser l'ancien script virtualenv, vous pouvez - spécifier explicitement l'interpréteur avec l'option -p:

virtualenv -p /path/to/python3 myvenv
4
wim
head -1 `which virtualenv`

Ce python est utilisé par défaut. Editez le fichier et changez la première ligne. Ou réinstallez virtualenv avec un autre python:

python3.6 -m pip install -U virtualenv
0
phd