Виртуальное окружение venv
Создать окружение в папке проекта и включить его. В командной строке Windows, открытой в папке проекта (как её открыть — в справке Как запустить файл .py):
python -m venv .venv
.venv\Scripts\activateВ Linux и macOS:
python3 -m venv .venv
source .venv/bin/activateПосле включения в начале строки терминала появляется (.venv). Теперь команды python и pip относятся к окружению, и библиотеки ставятся в него:
python -m pip install requestsВыключить окружение — команда deactivate.
Зачем это нужно
Виртуальное окружение — отдельная папка (здесь .venv) со своей копией Python и своими библиотеками. Каждому проекту — своё окружение:
- библиотеки одного проекта не мешают другому, даже если нужны разные версии;
- системный Python остаётся чистым. В современных Ubuntu и Debian ставить пакеты pip в системный Python вообще нельзя — ошибка
externally-managed-environment, — и окружение решает эту задачу; - список библиотек проекта легко сохранить и повторить на другом компьютере.
Имя .venv — общепринятое, редакторы находят такую папку сами. Можно назвать и иначе — тогда подставьте своё имя во все команды.
Список библиотек проекта
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txtПервая команда записывает библиотеки окружения с версиями в файл requirements.txt, вторая ставит их по этому файлу — например, в новом окружении на другом компьютере.
PowerShell: «выполнение сценариев отключено в этой системе»
В PowerShell окружение включает скрипт .venv\Scripts\Activate.ps1, а Windows по умолчанию может запрещать запуск скриптов. Самое простое — включать окружение из обычной командной строки cmd командой .venv\Scripts\activate. Или разрешить скрипты только для своей учётной записи:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserЭта команда ослабляет защиту Windows: после неё PowerShell запускает любые скрипты, созданные на компьютере, а скачанные из интернета — только подписанные. Не меняйте настройку, если компьютер не ваш (например, школьный или рабочий), — для этого есть cmd.
Окружение можно и не включать: программа запускается его Python напрямую — .venv\Scripts\python.exe main.py в Windows или .venv/bin/python main.py в Linux и macOS.
Ubuntu и Debian: ensurepip is not available
Если python3 -m venv .venv отвечает, что окружение не создано, потому что ensurepip is not available, в системе не хватает пакета для окружений. Поставьте его и создайте окружение заново:
sudo apt install python3-venv
python3 -m venv .venvОкружение в редакторе
- VS Code обычно сам предлагает окружение из папки
.venv. Если нет —Ctrl+Shift+P, команда Python: Select Interpreter, выберите Python из.venv. - Thonny — в настройках интерпретатора (Tools → Options, вкладка Interpreter) можно указать Python из
.venv.
Подводные камни
- Папку окружения не переносят и не копируют на другой компьютер: внутри записаны полные пути, и после переноса окружение перестаёт работать. Переносят
requirements.txt, а окружение создают заново. - В систему контроля версий (git) папку
.venvне добавляют — её вносят в.gitignore. - Окружение включается в каждом новом окне терминала заново.