скажите pip, чтобы установить зависимости пакетов, перечисленных в файле требований
Разрабатывая веб-приложение Django, у меня есть список пакетов, которые мне нужно установить в virtualenv. Сказать:
<code>Django==1.3.1 --extra-index-url=http://dist.pinaxproject.com/dev/ Pinax==0.9b1.dev10 git+git://github.com/pinax/pinax-theme-bootstrap.git@cff4f5bbe9f87f0c67ee9ada9aa8ae82978f9890 # and other packages </code>
Первоначально я устанавливал их вручную, один за другим, по ходу разработки. Это установило необходимые зависимости, и я, наконец, использовалpip freeze
перед развертыванием приложения.
Проблема в том, что, когда я обновил некоторые пакеты, некоторые зависимости больше не используются и не требуются, но продолжают перечислятьсяpip freeze
.
Теперь я хотел бы создать новый virtualenv таким образом:
put the needed packages (without their dependencies) in a requirement file,like
manual-requirements.txt
install them with their dependencies pip install -r manual-requirement.txt
(← problem, this does not install the dependencies)
freeze the full virtualenv pip freeze -r manual-requirements.txt > full-requirements.txt
and deploy.
Любой способ сделать это без ручной переустановки пакетов в новом virtualenv, чтобы получить их зависимости? Это было бы подвержено ошибкам, и я хотел бы автоматизировать процесс очистки virtualenv от ненужных старых зависимостей.
edit: на самом деле, пипсdoes установить зависимости, явно не указанные в файле требований, даже еслидокументация говорит нам, что такие файлы плоские. Я был не прав относительно того, какие зависимости я ожидал установить. Я дам этот вопрос всем, кто сомневается в том, что pip не устанавливает все зависимости.