pip и файл requirements.txt
Мы с вами уже знакомы с менеджером пакетов для языка Python
по возможности я буду дополнять эту страницу различными полезными материалами.
Python Package Installer
Можно было бы ожидать что, pip
является абреавиатурой, как например npm
(Node Package Manager), но как я могу судить три буквы на прямую не переводятся.
pip — система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python
. Много пакетов можно найти в Python Package Index
.
За более полной информацией по pip
советую обращаться к официальной информации:
requirements.txt
Файл Представьте ситуацию, что вы передаете проект использующий сторонние зависимости своему коллеге, как ваш коллега узнает какие зависимости следует установить для работы с этим проектом? Вы скините их через мессенжер, или он будет пытаться запустить его пока не пофиксит все возникающие ImportError
?
Ладно.. может он даже установит, все необходимые пакеты.. есть еще одна, более серьезная, проблема. Вам надо добиться того чтобы зависимости были установленны с определенными версиями.
Решение этих проблем максимально простое, давайте будем хранить в проекте файлик со списком зависимостей и их версиями. Назовем мы его requirements.txt
Такой файл вы легко можете редактировать руками или же создать файл из уже установленных зависимостей.
❗️ Но будьте внимательны
При вызове команды
pip freeze
вы получите все установленные зависимости на вашей системе или в виртуальном окружении. Поэтому советую испльзовать ее только в вашем виртуальном окружении и следить чтобы в нем не были установлены лишние пакеты.А чего такого в этих лишних проектах? Вот вам только несколько причин:
- Чтобы приступить к работе над проектом понадобится дольше устанавливать зависимости
- Некоторые зависимости могут требовать системных библиотек и устанавливаться весьма долго... например
psycopg2
- Если вы будете автоматизировать тестирование и деплоймент вашего проекта.. вы не хотите, чтобы деплой осуществлялся слишком много времени, а контейнеры весили по
1ГБ
(если вы их конечно испльзуете)
Чтобы установить зависимости перечисленные в файле requirements.txt
, следует вызвать команду pip install
с параметром --requirement
или флагом -r
и указать путь до файла со списком зависимостей.