web-dev-qa-db-fra.com

Créer une virtualenv avec python2 et python3

J'ai essayé d'utiliser virtualenvwrapper pour créer un virtualenv avec python2 et python3

Per virtualenv avec python2 et python3 via Homebrew J'espérais que cela fonctionnerait:

(Le nom de virtualenv est 'double')

mkvirtualenv double -p `which python`
mkvirtualenv double -p `which python3`

Il mentionne que 

Not overwriting existing python script both/bin/python (you must use both/bin/python3.4)

Mais cela ne semble pas être vrai. La saisie de pythonpython2.7python3 et python3.4 démarre tous les interprètes python3.4

14
Zweedeend

Désolé, virtualenv est conçu pour prendre en charge une version à interprète unique.

Si vous devez utiliser plusieurs versions de Python sur la même base de code, créez des environnements virtuels distincts.

18
Andrew Svetlov

virtualenv ne prend pas en charge plusieurs versions d'interprète. Ma suggestion est d'utiliser un environnement différent pour chacune des versions:

virtualenv -p /usr/bin/python3.3 py3env
virtualenv -p /usr/bin/python py2env
8
Alexander

virtualenv vous aide à isoler les environnements. 

Il ne peut pas supporter plusieurs versions de python simultanément. Vous pouvez essayer pyenv et pyenv-virtualenv . Il vous aide à changer de dossier dans une autre version de Python et un autre environnement de travail. Il change de version très facilement.

Si vous ne pouvez pas installer pyenv et travaillez sur Mac. anyenv peut vous aider à installer pyenv.

Exemple:

$ pyenv install 3.4.1
$ pyenv install 2.7.6
$ pyenv virtualenv 3.4.1 mypy3
$ pyenv virtualenv 2.7.6 mypy2
$ pyenv versions
  * system
    3.4.1
    2.7.6
    mypy3

$ cd /work/
$ pyenv local mypy3      # Use Py3 now
$ pyenv local mypy2      # Use Py2 now 
4
Puffin GDI

J'ai une solution pour cela impliquant Vagrant/VirtualBox ... (il a ma configuration de bootstrap pour démarrer un probject Django, mais branchez-le et déchaînez-vous!)

le paquet est ici, https://github.com/andrewyoung1991/python-3.4.1-vagrant-bootstrap.git un virtuel-env est malheureusement un jeu à un seul python mais avec une VirtualBox vous pouvez travailler librement dans un sandbox appelant python2 ou python3

0
a_young