2011-01-14 23 views
12

Tengo python2.6 y django1.2.3 ya instalados en mi sistema (Ubuntu 10.x).
Esta es la configuración que uso para la mayoría de mis proyectos. Pero para algunos proyectos necesito entornos de espacio aislado, diferentes versiones de django, algunos módulos adicionales de python y, a veces, incluso una versión de Python diferente.Flujo de trabajo usando virtualenv y pip

Por lo tanto, estoy tratando de usar pip y virtualenv ahora, pero no puedo cambiar la versión de python y django. Tendré que eliminar la configuración predeterminada y mover todos los proyectos existentes en 1 virtualenv. ¿Puedo evitar esto? Incluso si hago eso, ¿cómo puedo especificar una versión diferente de python?

Si tengo que eliminar la configuración anterior. ¿Cómo puedo hacer eso? Actualmente tengo la mayoría de las cosas instaladas en /usr/local/lib/python2.6/dist-packages/, pero no estoy seguro de si hay algo instalado en otro lugar.

Si tengo una configuración completamente en blanco con solo Ubuntu, ¿cuál es el flujo de trabajo ideal? ¿Es este?

Install python 
$ sudo apt-get install python-setuptools 
$ sudo apt-get install python-virtualenv 
$ sudo easy_install pip 
$ sudo pip install virtualenvwrapper 
+1

virtualenv le salvará la vida - buena llamada. – JohnO

Respuesta

9

que quieres hacer:

virtualenv --python=/path/to/python/version --no-site-packages ENV_NAME 

Por ejemplo:

virtualenv --python=/usr/bin/python2.6 --no-site-packages my_project_env 

Si sigue este para sus proyectos que deberían ser capaces de tener una configuración distinta para cada uno.

5

He instalado cada versión de Python que necesito (que es 2.4, 2.5, 2.6, 2.7, 3.1 y también 3.2) de la fuente. Eso siempre es lo mejor que puedes hacer, para que no estropees el sistema Python.

Los instalé en/opt. Como tal (también necesita un montón de paquetes de Ubuntu):

./configure --prefix /opt/pythonxx 
make -j2; make install # j2 is a nice trick there for dualcores not everyone knows. 

Luego, para cada versión, instalo las cosas que necesito. Empiezo con la instalación Distribuir:

wget http://nightly.ziade.org/distribute_setup.py 
/opt/pythonxx/bin/python distribute_setup.py 

(Excepto para Python 3, que necesita distribute_setup3.py) entonces puedo instalar pip

/opt/pythonxx/bin/easy_install pip 

Y virtualenv:

/opt/pythonxx/bin/pip install virtualenv 

(Virtualenv3 o virtualenv5 para Python 3)

¡Y eso es todo! Si quiero hacer un virtualenv usando Python 2.4, lo hago:

/opt/python24/bin/virtualenv foobar 

Y Python 2.7:

/opt/python27/bin/virtualenv foobar 

Ejecución de pitón es sólo

/opt/python24/bin/python 

Etc. no instalar nada en los pitones anteriores excepto estos módulos, y PIL (PIL porque es un dolor, pero ahora hay Almohada , así que tampoco tienes que hacer eso). Yo uso zc.buildout y virtualenv para mantener limpias las pitones.

+0

Hice una pregunta para hacer una lista de todos los paquetes necesarios, porque siempre paso media hora cada vez que instalo un nuevo Ubuntu. :) http://askubuntu.com/questions/21547/what-are-the-packages-libraries-i-should-install-before-compiling-python-from-sou –

Cuestiones relacionadas