Управление зависимостями: pip, virtualenv, requirements.txt

Почему зависимостями нужно управлять? 🤔

Когда вы пишете код, особенно в команде, важно, чтобы у всех работало одинаково. Без управления зависимостями:
- Один код работает у вас, но не у коллеги — потому что у вас установлены разные версии библиотек.
- Сложно воспроизвести проект через полгода — какие библиотеки вообще нужны?
- Захламляется система — глобальные установки пакетов могут конфликтовать между собой.

Решение? pip + virtualenv + requirements.txt — связка, которая делает жизнь проще.


pip — ваш главный установщик 📦

pip — стандартный менеджер пакетов Python. С ним вы:
- Устанавливаете библиотеки (pip install requests).
- Удаляете ненужное (pip uninstall pandas).
- Ищете пакеты (pip search "web framework").

Примеры с пояснениями

# Установка последней версии
pip install django

# Установка конкретной версии (чтобы избежать конфликтов)
pip install flask==2.0.1

# Показать список установленных пакетов
pip list

# Показать детали пакета
pip show numpy

🔹 Профессиональный совет: Всегда проверяйте версии (==x.x.x), иначе обновление может сломать код!


virtualenv — изоляция проектов 🏝️

Проблема: У вас два проекта, один требует Django 3.2, другой — Django 4.0. Глобально так не сделаешь.

Решение: virtualenv создает изолированное окружение для каждого проекта.

Как использовать?

1. Установка (если нет):

pip install virtualenv

2. Создание окружения:

virtualenv myenv  # создает папку myenv с Python и pip внутри

3. Активация:

  • Windows:
myenv\Scripts\activate
  • macOS/Linux:
source myenv/bin/activate

Теперь pip install будет ставить пакеты только в это окружение.

🔹 Важно: После работы не забывайте deactivate.


requirements.txt — контроль версий 📋

Файл requirements.txt — это список всех зависимостей проекта.

Как создать?

1. В активированном virtualenv выполните:

pip freeze > requirements.txt

2. Получите файл вида:

Django==3.2.1
requests==2.25.1

Как использовать в новом проекте?

pip install -r requirements.txt

Профессиональный лайфхак:
- Для разработки и тестов добавьте отдельные файлы (requirements-dev.txt).
- Хотите автоматизировать? Посмотрите Poetry (альтернатива pip).


Итоговая схема работы 🏆

  1. Создаем virtualenv для проекта.
  2. Активируем его и ставим зависимости через pip.
  3. Фиксируем версии в requirements.txt.
  4. Передаем проект — коллега клонирует репозиторий, создает окружение и ставит зависимости одной командой.

🚀 Теперь ваш код работает везде одинаково!

Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео