PIP: установка только зависимостей - PullRequest
22 голосов
/ 23 февраля 2010

У меня есть сценарий, который создает virtualenv, устанавливает в него distribute и pip, а затем при необходимости клонирует репо git.

Теперь у меня есть проект, над которым я буду работать, установлен. Но его зависимости не установлены. Как я могу заставить pip установить все зависимости, как если бы я выдал pip install MyApp?

РЕДАКТИРОВАТЬ : Очевидно, мой вопрос является дубликатом этот .

Не совсем уверен, но pip install -e ., кажется, делает то, что я хочу, без лишних вещей, лежащих вокруг. Я бы предпочел, чтобы мой код не был связан с site-packages.

Ответы [ 3 ]

20 голосов
/ 01 марта 2010

В моем пакете root выдача pip install -e . устанавливает зависимости.

7 голосов
/ 23 февраля 2010

Вы должны использовать файл требований к пунктам.

По сути, поместите все свои требования, по одному в каждой строке в файле, и передайте их в пункт, используя команду

pip install -r requirements.txt

Более того, если у вас стандартная среда, pip может фактически вывести такой файл из существующих установок с помощью команды:

pip freeze

Вы можете поместить созданный таким образом файл непосредственно в требования к пипсам и вызвать предыдущую команду из сценария развертывания.

Довольно круто, не правда ли? :)

6 голосов
/ 11 ноября 2018

Если ваши зависимости определены в файле setup.py, вы можете сначала вывести их во внешний файл, используя:

python setup.py egg_info

Это перечислит все ваши зависимости в YOUR_PROJECT.egg-info/requires.txt файле. Затем вы можете установить их, используя pip:

pip install -r *.egg-info/requires.txt
...