Если в одном проекте нужен Django 5, а в другом — старый `Flask`, без изоляции зависимостей быстро начинается хаос. Именно для этого используют virtual environment и pip.
Что такое virtual environment
Это отдельная среда Python внутри проекта, где хранятся свои версии библиотек.
Она помогает:
- не смешивать зависимости разных проектов
- избежать конфликтов версий
- сделать запуск проекта предсказуемым на любом компьютере
- упростить деплой и командную разработку
Как создать виртуальное окружение
Обычно используют встроенный модуль venv:
python -m venv venv
Где venv — имя папки с окружением.
Как активировать
- Windows:
venv\Scripts\activate - Linux / macOS:
source venv/bin/activate
После активации pip и python будут работать внутри этой среды.
Как установить пакет через pip
pip install requests
pip — стандартный менеджер пакетов Python. Через него устанавливают, обновляют и удаляют библиотеки.
Полезные команды:
- установить пакет
pip install package_name - установить конкретную версию
pip install django==4.2.0 - обновить пакет
pip install --upgrade package_name - удалить пакет
pip uninstall package_name - посмотреть список зависимостей
pip list
Зачем нужен requirements.txt 📦
Чтобы сохранить все зависимости проекта:
pip freeze > requirements.txt
Теперь другой разработчик или сервер смогут установить тот же набор библиотек:
pip install -r requirements.txt
Это критично для:
- командной разработки
- CI/CD
- продакшн-деплоя
- воспроизводимости окружения
Хорошая практика ✅
- создавать отдельное окружение для каждого проекта
- не ставить библиотеки глобально без необходимости
- фиксировать версии в
requirements.txt - периодически проверять устаревшие пакеты
- не добавлять папку
venvв Git — для этого используют.gitignore
Частые ошибки ⚠️
- установка пакетов без активации окружения
- запуск проекта с другой версией Python
- отсутствие
requirements.txt - слишком общие зависимости без фиксированных версий
Итог
virtual environment + pip — это базовый стандарт работы с Python-проектами. Такой подход делает разработку чище, стабильнее и безопаснее: меньше конфликтов, проще перенос проекта, понятнее поддержка кода. 🚀
📌 Ниже стоит посмотреть подборку каналов про IT — там много полезного по Python, DevOps, backend и инструментам разработки.