#python #bash #pip #virtualenv
#python #bash #pip #virtualenv
Вопрос:
Я знаю, что я могу использовать pip freeze
, чтобы помочь в создании списка моих требований для моей виртуальной среды, но у меня возникли некоторые трудности с управлением всеми моими различными пакетами.
Я хочу сохранить некоторые пакеты отдельно для разработки и производства, и иметь файлы требований к производству и разработке громоздко, поскольку я использую так много пакетов (многие из которых являются общими друг для друга). Как я могу более эффективно разделять свои производственные пакеты и пакеты разработки?
Ответ №1:
Совсем не сложно.
Допустим, у вас есть один файл требований для производства: production.txt
и один для разработки: development.txt
. Создайте третий файл, shared.txt
, который имеет все общие зависимости. Затем в каждом соответствующем файле требований перечислите зависимости, относящиеся исключительно к вашей желаемой среде. В начале development.txt
и production.txt
, ссылка на ваше shared.txt
использование -r shared.txt
. Теперь каждый файл будет загружать общие зависимости перед загрузкой эксклюзивных зависимостей.
Пример:
shared.txt
SharedExamplePackage1
SharedExamplePackage2
SharedExamplePackage3
SharedExamplePackage4
SharedExamplePackage5
development.txt
-r shared.txt
DevExamplePackage1
DevExamplePackage2
production.txt
-r shared.txt
ProductionExamplePackage1
ProductionExamplePackage2
ProductionExamplePackage3
Ответ №2:
Вы можете включить один файл требований в другой, используя:
-r more_requirements.txt
Например, dev-requirements.txt
файл может содержать производственные требования плюс дополнительные пакеты разработки:
-r requirements.txt
mock
tox
(и так далее)
Комментарии:
1. могу ли я привести его в состояние? Я не хочу устанавливать некоторые приложения на heroku (производство), но, похоже, первое решение не работает для heroku — не удается обнаружить buildpack