2009-09-12 20 views
9

Parece que todos recomiendan virtualenv para múltiples versiones de python (en osx), pero ¿funciona incluso con python 3.0? Lo descargué, y parece que no ... Y realmente no entiendo cómo funciona, ¿puedes 'activar' el env a la vez o algo así? Lo que quiero es dejar el sistema python 2.5 (obviamente), y tener Python 3.1.1 con subversion pygame para escribir mis propias cosas, y python 2.6 con pygame estable normal para usarlo para ejecutar otras cosas, como juegos de pygame descargados de pygame .org. ¿Alguna ayuda sobre cómo lograr eso? Gracias.Python - Virtualenv, python 3?

OK Me di cuenta de que virtualenv no es lo que estoy buscando.

+4

A partir de la versión 1.6, virtualenv tiene soporte para Python 3. –

Respuesta

3

Su caso de uso realmente no necesita virtualenv. Solo necesita instalar varias versiones diferentes de Python.

+0

Me gusta usar la versión más reciente, solo me enseño a programar como hobby, por lo que realmente no le importa a nadie más la versión que uso. – mk12

+0

Entonces, para usar con pygame, ¿crees que debería quedarme con 2.6? – mk12

+0

Sí, debes quedarte con 2.6. –

0

No estoy seguro si he entendido bien, pero aquí va :)

No sé sobre OS X, pero en Linux se puede instalar tanto en 2,6 y 3. A continuación, puede especificar el uso o Python25 python3, o cambie el enlace simbólico/usr/bin/python a la versión que desea usar de forma predeterminada.

+0

¿Estás hablando sin virtualenv? – mk12

+0

No, estoy hablando de usar múltiples versiones de Python. Por lo que sé, virtualenv se usa para trabajar con dependencias de múltiples versiones, no con múltiples versiones de python. Pero puedo estar equivocado :-) – l3dx

+0

ohh ... Me gustaría que hubiera Python Preferences.app como Java Preferences.app .. – mk12

1

virtualenv está diseñado para crear entornos aislados de un entorno de Python. El truco para usarlo con varias instancias de Python es ya sea para instalar virtualenv en cada una de las versiones de Python que desee utilizar con, por ejemplo:

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

o para invocar con la versión de Python previsto, por ejemplo:

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

Así que, como tal, no resuelve directamente el problema (particularmente agudo en OS X) de los cuales Python que desea trabajar. Hay varias maneras de lidiar con ese problema: usar rutas absolutas al Python previsto (como en los ejemplos anteriores), definir alias del shell, administrar cuidadosamente el orden de búsqueda $PATH, entre otros.

Por el momento, que yo sepa, virtualenv no es compatible con Python 3, ya que, entre otras cosas, setuptools (la magia detrás de easy_install) todavía no es compatible con Python 3, aunque hay hacia una solución para eso.

Por cierto, mucha gente usa Doug Hellman's virtualenvwrapper para simplificar el uso de virtualenv.

+0

ya tengo Python 3.2.3, pero debo instalar Python 3.3.2 para algunas cosas en una Por supuesto, y mis viejos códigos están relacionados con pygame, quiero usar virtualenv después de instalarlo y, además, pip, no sé cómo incluir pygame en cada entorno, ya sea Python 3.3.2 o Python 3.2.3, estoy usando Windows XP, cualquier opinión, instrucción o referencia es bienvenida. – mazlor

1

Para mí virtualenv3 funciona muy bien. También tengo instalado pypi.python.org/pypi/distribute. Eso también funciona con el mencionado www.doughellmann.com/docs/virtualenvwrapper/. Sin embargo, solo lo he probado en Linux.

+1

Ahora también existe virtualenv5 http://pypi.python.org/pypi/virtualenv5/ – Alien8

+2

¡virtualenv3 ahora está obsoleto! https://pypi.python.org/pypi/virtualenv3 –

14

Ya es una vieja pregunta, pero la encontré en la parte superior de la búsqueda de Google para encontrar la respuesta, y no creo que las respuestas proporcionadas sean las que la gente está buscando.

Según tengo entendido, ¿desea crear diferentes entornos virtuales con diferentes versiones de Python?

Esto es muy fácil, y usted solo necesita virtualenv.

para, digamos, 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 
$ 

utiliza el comando para activar el source Venv, y deactivate a - lo adivinó - desactivarlo.Observe que el aviso cambia para indicar el env.

Para la versión estándar de su sistema de Python, simplemente saltee el argumento -p python3, y puede usar el argumento para apuntar a cualquier versión que desee.

El último argumento es el nombre (p34env) y puede hacer tantos como quiera, simplemente deles diferentes nombres.