2014-11-06 9 views
10

ho cercato di usare virtualenvwrapper per creare un virtualenv sia con python2 e python3Creare un virtualenv sia con python2 e python3

Per virtualenv with python2 and python3 via Homebrew speravo questo dovrebbe funzionare:

(Il nome della virtualenv è 'doppia ')

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

Si menziona che

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

Ma non sembra vero. Digitando pythonpython2.7python3 e python3.4 tutti iniziano l'interprete python3.4.

+8

Cosa stai cercando di ottenere facendo questo? Uno dei principali vantaggi di virtualenvs è il walling di mondi separati per Python 2 e Python 3. – Kevin

+1

Sto lavorando a un progetto che viene eseguito sia in python2 che in python3. Non voglio passare virtualenv tutto il tempo. python2 e python3 hanno la loro versione di pip e store-site-packages in posti diversi, quindi non vedo il problema. – Zweedeend

+6

Se lo scopo è di testare il progetto, utilizzare tox invece per eseguire test in Python 2 e 3. In caso contrario, suggerisco di svilupparlo in 3.x ed eseguirlo in 2 separatamente. Tutti gli strumenti menzionati qui sono stati sviluppati tenendo presente un solo Python per virtualenv, quindi anche se inizialmente le cose sembrano funzionare, non c'è alcuna garanzia che continuerà a funzionare. –

risposta

13

Siamo spiacenti, virtualenv è progettato per supportare la versione a interprete singolo.

Se è necessario utilizzare diverse versioni python sulla stessa base di codice, creare ambienti virtuali separati.

0

ho una soluzione per questo che coinvolge Vagrant/VirtualBox ... (ha il mio setup bootstrap per l'avvio di un probject Django, ma forchetta e scatenarsi con esso!)

il pacchetto è qui, https://github.com/andrewyoung1991/python-3.4.1-vagrant-bootstrap.git un virtual-env è sfortunatamente un gioco single-python ma con un VirtualBox puoi lavorare liberamente in una sandbox che chiama python2 o python3

3

virtualenv aiutarti a isolare gli ambienti.

Non è in grado di supportare più versioni di Python nello stesso momento. Puoi provare pyenv e pyenv-virtualenv. Supporta il cambio della cartella in un'altra versione di Python e in un ambiente di lavoro. Cambia la versione molto facilmente.

Se non è possibile installare pyenv e lavorare su Mac. anyenv può aiutarti a installare pyenv.

Esempio:

$ 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 
5

virtualenv non supporta più versioni interprete. Il mio suggerimento è di utilizzare un ambiente diverso per ciascuna delle versioni:

virtualenv -p /usr/bin/python3.3 py3env 
virtualenv -p /usr/bin/python py2env 
Problemi correlati