2013-11-14 4 views
1

У меня есть файл требований.txt на моей машине разработки. Я переместил его в git repo и клонировал его на сервере.Установка выбранных пакетов из требований. Txt

Путь я нажимаю изменения на сервер выглядит следующим образом:

Я замерзнуть файл на моей машине развития, то я добавить файл в Git и тянуть его на сервере и не пункт установить -r требования. текст.

Но при этом все пакеты снова и снова устанавливаются, и я не хочу этого. Я хочу, чтобы эти пакеты были установлены, которые не установлены на сервере.

Каков наилучший способ сделать это? Я также хотел бы узнать другие эффективные методы нажатия кода разработки на сервер.

+0

Я немного смущен, потому что мое впечатление (и опыт) всегда было тем, что пипс делает это уже. Когда я делаю 'pip install -r requirements.txt', для уже установленного материала он просто печатает сообщение« Требование уже выполнено »и не требует установки его снова. –

+0

Это не для меня. Он снова устанавливает все пакеты, а затем деактивирует одни и те же пакеты и поддерживает один из них. –

+0

Какую версию пипса вы используете? –

ответ

1

Используйте buildout, это другой способ. Buildout проверяет пакеты перед установкой, поэтому он не будет переустанавливать ненужные пакеты.

Очень мощный инструмент. При развертывании, вам просто нужно сделать git push, то на сервере вы делаете:

git pull 
bin/buildout 

Вот и все. Вы можете прочитать статью о Buildout and pip+virtualenv различия

EDIT:


Вы можете установить PIP_DOWNLOAD_CACHE путь в settings.py сказать пип магазин все загруженные пакеты в какой-нибудь каталог («packages», например), так что не загружайте их повторно:

import os.path 

PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__)) 
PIP_DOWNLOAD_CACHE = os.path.abspath(PROJECT_ROOT+'/packages/'), 
+0

Полезная информация, но я действительно ищу, чтобы использовать pip с этим проектом, и потому что я все еще учился, я не хочу экспериментировать с сервером в это время. Есть ли какая-нибудь команда, чтобы указать pip для установки выбранных пакетов из требования. Txt? –

+0

Посмотрите http://stackoverflow.com/questions/10336308/how-to-cache-downloaded-pip-packages. Похоже на вашу проблему. Вам нужно кэшировать загруженные пакеты, чтобы предотвратить переустановку pip – Feanor

+0

См. Edit в моем ответе выше – Feanor

Смежные вопросы