2012-08-22 9 views

Respuesta

11

Se puede congelar requisitos. Esto genera una lista de todos los módulos de Python que su proyecto necesita. Creo que bundle es similar en concepto.

Por ejemplo:

virtualenv --no-site-packages myproject_env # create a blank Python virtual environment 
source myproject_env/bin/activate # activate it 
(myproject_env)$ pip install django # install django into the virtual environment 
(myproject_env)$ pip install other_package # etc. 
... 
(myproject_env)$ pip freeze > requirements.txt 

La última línea genera un archivo de texto todos los paquetes instalados en su entorno personalizado. Puede utilizar ese archivo para instalar los mismos requisitos en otros servidores:

pip install -r requirements.txt 

Por supuesto que no es necesario utilizar pip, puede crear el archivo de requisitos a mano; no tiene ningún requisito de sintaxis especial. Solo un paquete y (posiblemente) un identificador de versión en cada línea. Aquí hay una muestra de un proyecto típico de django con algunos paquetes adicionales:

Django==1.4 
South==0.7.4 
Werkzeug==0.8.3 
amqplib==1.0.2 
anyjson==0.3.1 
celery==2.5.1 
django-celery==2.5.1 
django-debug-toolbar==0.9.4 
django-extensions==0.8 
django-guardian==1.0.4 
django-picklefield==0.2.0 
kombu==2.1.4 
psycopg2==2.4.5 
python-dateutil==2.1 
six==1.1.0 
wsgiref==0.1.2 
xlwt==0.7.3 
+0

funciona muy bien, gracias. – nemesisdesign

3

Lo más probable es virtualenv, pip y requirements file. Con esos 3 ingredientes es bastante fácil escribir un script de arranque simple.

Más exigente y complejo es buildout. Pero solo iría si virtualenv y pip no son suficientes.

Y si amplía este enfoque con fabric y opcional cuisine, ya tiene automatizada su implementación de proyecto. Echa un vistazo a estos enlaces para más información:

Cuestiones relacionadas