JavaRush /Курси /Модуль 3: Django /Встановлення залежностей через pip

Встановлення залежностей через pip

Модуль 3: Django
Рівень 2 , Лекція 1
Відкрита

На попередніх лекціях ми вже познайомилися з основами Django, встановили Python і Django, а також створили своє перше віртуальне оточення. Ми поговорили про те, що віртуальне оточення дозволяє нам ізолювати проєкти, запобігаючи "хаосу залежностей". На минулому занятті ви навчилися створювати віртуальне оточення за допомогою venv, а також активувати його. А тепер давайте рухатися далі та розберемося, як додавати магію в проєкт, встановлюючи залежності за допомогою pip. Адже без цього ваш Django-проєкт залишиться самотнім, як старий сервер без запитів.

1. Основи роботи з pip

pip — це ваш універсальний касир, який дозволяє додавати потрібні бібліотеки (і версії цих бібліотек!) у проект. Його ім'я означає "Pip Installs Packages" — нічого складного.

Коли ви працюєте над проєктом, часто потрібен набір сторонніх інструментів: бібліотеки для роботи з базами даних, тестування, обробки зображень і так далі. Замість того щоб писати все це вручну (що займе років 100), ви можете просто встановити готову бібліотеку за допомогою pip.

pip у вас вже встановлений разом із Python, але все ж таки перевірте:

pip --version

На виході ви маєте побачити щось типу:

pip 23.2.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

Якщо pip не встановлений з якоїсь причини (раптом ви на машині часу повернулися в епоху динозаврів), його можна встановити командою:

python -m ensurepip --upgrade

Версії бібліотек та інструментів оновлюються швидше, ніж ви встигаєте сказати "Django ORM". Тому важливо тримати pip свіжим.

Для оновлення виконайте:

pip install --upgrade pip

2. Встановлення Django з використанням pip

Встановлення Django

Тепер, коли ми знаємо, що таке pip, давайте встановимо нашу зірку шоу — Django. Переконайтеся, що ви активували віртуальне середовище (інакше ви забрудните системні пакети!) і виконайте команду:

pip install django

Якщо все пройде успішно, на екрані з’явиться калейдоскоп рядків із назвами бібліотек і версіями, які підтягує наш pip. Після встановлення можна перевірити встановлену версію Django:

python -m django --version

Результат буде приблизно таким:

4.2.5

Вітаю, ви щойно встановили Django! Це як посадити зерно в землю, тільки замість дерева у нас буде надмасштабований веб-проєкт.

Встановлення конкретної версії Django

Буває, що ваш проєкт або команда вимагають конкретної версії Django. Наприклад, ви розробник-археолог, який працює зі стародавнім проєктом на Django 3.2. У такому випадку ви можете вказати версію під час встановлення:

pip install django==3.2

Крім того, можна використовувати діапазони:

pip install "django>=3.2,<4.0"

Таким чином, ви будете впевнені, що ваш проєкт залишиться сумісним.

3. Керування залежностями проєкту

Проєкти, як друзі на вашій вечірці, мають різні вподобання. Один проєкт хоче бібліотеку для роботи з SQL, інший — асинхронний фреймворк для обробки запитів. Як організувати цю строкату команду? Використовувати файл залежностей!

Створення файлу requirements.txt

Щоб зафіксувати всі залежності проєкту, можна створити спеціальний файл — requirements.txt. Це текстовий файл, у якому перелічені всі бібліотеки та їхні версії. Наприклад:

django==5.1
djangorestframework==3.16.0
psycopg2-binary==2.9.8

Як створити requirements.txt?

Для автоматизації цього процесу виконайте команду:

pip freeze > requirements.txt

Вона зафіксує поточні залежності віртуального середовища та збереже їх у файлі.

Встановлення залежностей з requirements.txt

Ваш колега надіслав вам проєкт разом із requirements.txt. Що робити? Просто виконайте:

pip install -r requirements.txt

pip візьме всі залежності з файлу та встановить їх. Це особливо зручно при розгортанні проєкту в новому середовищі чи на сервері.

Видалення пакетів

Якщо ви випадково встановили бібліотеку, яка вам не потрібна (наприклад, переплутали numpy з numba), її можна видалити:

pip uninstall <package_name>

Наприклад:

pip uninstall numpy

4. Практика: Встановлення та керування залежностями Django-проєкту

Давайте закріпимо матеріал і проведемо невеличку практику. Ви вже створили віртуальне середовище. Наступні кроки:

  1. Встановіть Django та бібліотеку для роботи з PostgreSQL

Активуйте ваше віртуальне середовище та виконайте:

pip install django psycopg2-binary

Додатково встановіть бібліотеку для роботи з REST API:

pip install djangorestframework
  1. Зафіксуйте залежності

Збережіть поточні залежності у файл requirements.txt:

pip freeze > requirements.txt

Відкрийте файл і подивіться, як pip зафіксував версії всіх пакетів.

  1. Перевірка встановлення залежностей з файлу

Уявіть, що ми переносимо проєкт на нову машину. Спочатку створіть нове віртуальне середовище, потім виконайте:

pip install -r requirements.txt

Після цього переконайтеся, що всі залежності встановлені, ввівши:

pip list

Практичні помилки та як їх уникнути

Робота з pip може бути складнішою, ніж здається, але знаючи типові помилки, ти зможеш їх уникнути.

  1. Встановлення залежностей поза віртуальним середовищем. Дуже легко забути активувати середовище. Завжди перевіряй, що віртуальне середовище активне — командою pip list або просто дивлячись на підказку терміналу (зазвичай активоване середовище вказується перед командним рядком).

  2. Використання старих версій пакетів. Іноді ти можеш випадково встановити стару версію бібліотеки, просто забувши оновити pip. Регулярно перевіряй документацію або оновлюй пакети у проєкті.

  3. Проблеми сумісності залежностей. Деякі бібліотеки можуть конфліктувати між собою. Використовуй файл requirements.txt і фіксуй версії.

  4. Помилка "Permission denied". Якщо ти забув активувати віртуальне середовище, pip може спробувати встановити залежності глобально, вимагаючи прав адміністратора. Рішення: завжди працюй із віртуального середовища.

Реальні кейси використання

Файл requirements.txt і деплой. У більшості реальних проєктів файл залежностей використовується для консистентності оточення між вашою розробкою та сервером. Наприклад, після виконання git pull на сервері першою командою буде pip install -r requirements.txt, щоб переконатися, що всі залежності актуальні.

На співбесідах. Уміння керувати залежностями часто запитують на співбесідах. Покажіть, що ви знаєте, як користуватися requirements.txt, додавати залежності та фіксувати їх.

У розподілених командах. Працюючи в команді, ви завжди зможете бути впевнені, що використовуєте однакові версії бібліотек, якщо всі дотримуються правил фіксації залежностей.

Тепер ви готові до наступного кроку: налаштування вашого середовища розробки, щоб працювати з Django було так само весело, як грати в улюблену іграшку. Але про це на наступній лекції!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ