Окей, если ты хоть раз работал с Python-проектами, то наверняка сталкивался с ситуацией, когда разные проекты требуют разные версии библиотек, а иногда и самого Python. Система превращается в свалку пакетов, а pip uninstall превращается в рутину. Вот тут и приходит на помощь виртуальное окружение (venv).
Почему это важно
Виртуалки позволяют изолировать зависимости каждого проекта. Ты не рискуешь сломать рабочий проект, когда ставишь очередную версию requests
или экспериментируешь с бета-версией Django. Плюс, это must-have для любого, кто хочет, чтобы его проект запускался у других без боли и плясок с бубном.
Что потребуется
- Python 3.3+ (venv встроен начиная с этой версии)
- Любая ОС: Windows, Linux, MacOS — venv работает везде
- Терминал или командная строка
- Железо — если у тебя тянет Python, хватит с головой.
Установка и создание venv — пошагово
- Проверь, что Python установлен:
python --version
или
python3 --version
- Создай папку для проекта:
mkdir myproject cd myproject
- Создай виртуальное окружение:
python -m venv venv
или (если у тебя python3):
python3 -m venv venv
Здесь
venv
— это имя папки, куда сложатся все изолированные библиотеки. Можно назвать как угодно:.venv
,env
, хотьkotiki
. - Активируй окружение:
- Windows:
venv\Scripts\activate
- Linux/MacOS:
source venv/bin/activate
В командной строке появится префикс
(venv)
— значит, всё работает. - Windows:
Использование venv: команды и варианты
- Установка пакетов:
pip install <название_пакета>
- Сохранить список зависимостей:
pip freeze > requirements.txt
- Установить зависимости из файла:
pip install -r requirements.txt
- Деактивировать окружение:
deactivate
- Удалить окружение: Просто удали папку
venv
(rm -rf venv
или через Проводник). - Проверить, что pip и python теперь из venv:
which python which pip
или на Windows:
where python where pip
Ошибки и как делать не надо
- Не ставь пакеты глобально через
sudo pip install
— это зло, так можно убить системный Python. - Не коммить папку venv в git — добавь её в
.gitignore
. - Не запускай скрипты из-под одного окружения, а потом из-под другого — лови баги и слёзы.
- Если активировал venv, а pip всё равно глобальный — возможно, ты не активировал окружение или у тебя несколько Python в системе.
Реальный пример использования
Допустим, ты клонировал проект с GitHub:
git clone https://github.com/awesome-dev/someproject.git
cd someproject
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py
Всё, проект работает в изоляции, твоя система чиста, коллега сможет повторить шаги без боли.
Заключение
Работа с виртуальными окружениями — это не просто гигиена, а базовый навык любого питониста. Экономит кучу времени и нервов. Если что-то не работает — смотри официальную документацию venv и pip. Не забывай про virtualenv — он мощнее venv, если нужен продвинутый функционал.
Пиши свои лайфхаки и факапы в комментах, да пребудет с тобой чистый Python!
Ваш отзыв