2009-09-12 8 views
9

Sembra che chiunque consiglia virtualenv per più versioni Python (su osx), ma funziona anche con python 3.0? L'ho scaricato, e non sembra ... E non capisco davvero come funziona, puoi "accendere" su env alla volta o qualcosa del genere? Quello che voglio è lasciare il sistema python 2.5 (ovviamente), e avere python 3.1.1 con subversion pygame per scrivere le mie cose, e python 2.6 con pygame normale stabile da usare per eseguire altre cose, come i giochi pygame scaricati da pygame .org. Qualche aiuto su come realizzarlo? Grazie.Python - Virtualenv, python 3?

OK Ho capito che virtualenv non è quello che sto cercando.

+4

A partire dalla versione 1.6 virtualenv ha il supporto per Python 3. –

risposta

3

Il tuo caso d'uso non ha realmente bisogno di virtualenv. Hai solo bisogno di installare diverse versioni di Python.

+0

Mi piace usare la versione più recente, mi insegno a programmare come hobby, quindi non importa a nessuno quale versione utilizzi. – mk12

+0

Quindi, per l'utilizzo con pygame, pensi che dovrei rimanere con 2.6? – mk12

+0

Sì, dovresti mantenere 2.6. –

0

Non sono sicuro se ho capito bene, ma qui va :)

Non so su OS X, ma in Linux È possibile installare sia 2.6 e 3. Quindi è possibile specificare di utilizzare Python25 o python3, o cambia il link simbolico/usr/bin/python alla versione che vuoi usare di default.

+0

Stai parlando senza virtualenv? – mk12

+0

No, sto parlando dell'utilizzo di più versioni di Python. Per quello che so, virtualenv è usato per lavorare con dipendenze di più versioni, non più versioni di Python stesso. Ma potrei sbagliarmi :-) – l3dx

+0

ohh .. Vorrei che ci fosse un Python Preferences.app come Java Preferences.app .. – mk12

1

virtualenv è progettato per creare ambienti isolati di un ambiente Python. Il trucco per utilizzarlo con più istanze Python è quello di installare virtualenv in ciascuna delle versioni di Python che si desidera utilizzare con, ad esempio:

/usr/bin/easy_install-2.6 virtualenv 
/usr/local/bin/easy_install virtualenv 
sudo port install py26-virtualenv 

o invocare con la versione di Python destinato, ad esempio:

/usr/bin/python2.6 virtualenv.py ENV 
/usr/local/bin/python2.6 virtualenv.py ENV 
/opt/local/bin/python2.5 virtualenv.py ENV 

Quindi, come tale, non risolve direttamente il problema (particolarmente acuto su OS X) di cui Python si vuole lavorare. Esistono vari modi per risolvere questo problema: utilizzare percorsi assoluti per il previsto Python (come negli esempi precedenti), definire gli alias di shell, gestire attentamente l'ordine di ricerca $PATH, tra gli altri.

Al momento, per quanto ne so, virtualenv non è supportata con Python 3 perché, tra le altre cose, setuptools (la magia dietro easy_install) non è ancora supportato in Python 3, anche se c'è verso una soluzione per questo.

BTW, molte persone usano Doug Hellman's virtualenvwrapper per semplificare l'uso di virtualenv.

+0

ho già Python 3.2.3, ma devo installare Python 3.3.2 per alcune cose in un Naturalmente, e i miei vecchi codici sono relativi a pygame, voglio usare virtualenv dopo averlo installato e anche pip, non so come includere pygame in ogni ambiente sia python 3.3.2 o python 3.2.3, sto usando windows xp, qualsiasi opinione o istruzione o riferimento è il benvenuto. – mazlor

1

Per me virtualenv3 funziona molto bene. Ho anche installato pypi.python.org/pypi/distribute. Ciò funziona anche con il menzionato www.doughellmann.com/docs/virtualenvwrapper/. L'ho provato solo su Linux.

+1

Ora c'è anche virtualenv5 http://pypi.python.org/pypi/virtualenv5/ – Alien8

+2

virtualenv3 è ora obsoleto! https://pypi.python.org/pypi/virtualenv3 –

14

È una vecchia domanda ormai, ma ho trovato io stesso in cima alla ricerca di google per la risposta, e non penso che le risposte fornite siano ciò che le persone stanno cercando.

Come ho capito, vuoi creare diversi ambienti virtuali con diverse versioni di Python?

Questo è molto semplice, e hai solo bisogno di virtualenv stesso.

per, diciamo, un Python 3:

$ virtualenv -p python3 p34env 

(...) 
New python executable in p34env/bin/python3.4 
Also creating executable in p34env/bin/python 
Installing setuptools, pip...done. 

$ source p34env/bin/activate 

(p34env)$ python -V 
Python 3.4.2 

(p34env)$ deactivate 
$ 

si utilizza il comando source per attivare il venv e deactivate a - avete indovinato - disattivarla.Notare le modifiche al prompt per indicare l'env.

Per la versione standard di Python del sistema è sufficiente saltare l'argomento -p python3 ed è possibile utilizzare l'argomento per indicare qualsiasi versione a cui si desidera assegnare un percorso.

L'ultimo argomento è il nome (p34env) e puoi crearne quanti vuoi, basta dare loro nomi diversi.