Ответ 1
Вы можете заморозить требования. Это создает список всех модулей Python, необходимых вашему проекту. Я считаю, что bundle
схож по понятию.
Например:
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
Последняя строка генерирует текстовый файл, все пакеты, которые были установлены в вашей настраиваемой среде. Вы можете использовать этот файл для установки тех же требований на других серверах:
pip install -r requirements.txt
Конечно, вам не нужно использовать pip
, вы можете создать файл требований вручную; он не имеет особых требований к синтаксису. Просто пакет и (возможно) идентификатор версии в каждой строке. Вот пример типичного проекта django с некоторыми дополнительными пакетами:
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