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
funciona muy bien, gracias. – nemesisdesign