Как создать виртуальное окружение python venv
Узнаем что такое venv в Python, как работать на Windows, Linux, MacOs, в Pycharm и VS Code и как решать ошибки в работе.


Venv это встроенный модуль языка программирования python.
Расшифровывается как «virtual environments», то есть виртуальное окружение, некая изолированная среда.
Venv нужен, чтобы у питон проекта была возможность иметь несколько уникальных наборов библиотек определенных версий.
Модуль venv защищает Python проект от внешних зависимостей, через следующие действия:
копирует python интерпретатор или оставляет ссылку на него
перенаправляет переменные среды, чтобы введенные команды (например
pythonилиpip) искали библиотеки внутри созданного окружениязадает установку библиотек в папку действующего окружения
На современных версиях питона, venv обычно идет в комплекте.
Если же он отсутствует, можно попробовать скачать venv через следующие команды:
sudo apt install python3-venvКоманда установки для Debian / Ubuntu
Virtualenv альтернатива venv, подходит и для версий Python ниже 3.3
pip3 install virtualenvКоманда установки для MacOS
pip install virtualenvКоманда установки для Windows
Сделать venv, то есть виртуальное окружение, в вашем проекте достаточно просто, хватит одной команды.
Заместо папки .venv можно указать любое свое название папки латинскими буквами и цифрами без пробелов (например project_venv), однако внутри будущих команд вам потребуется вписывать это название.
Использовать в качестве названия папки - .venv может быть удобно, так как зачастую в.gitignore уже присутствует такое название.
python -m venv .venvСоздание venv на Windows
python3 -m venv .venvСоздание venv на Linux/MacOS
На выходе получаем файлы и папки, среди которых отдельно отметим папки:
bin/куда кладутся файлы для запуска питонаsite-packages/куда будут установленные сторонние библиотеки
.venv/
├── папка для запуска питона/ - (bin/ на Linux/Mac) или (Scripts/ на Windows)
│ ├── python - копия/симлинк (ссылка) интерпретатора Python
│ ├── pip - pip (для установки библиотек из вне)
│ └── activate - скрипт для включения окружения
├── lib/
│ └── python3.x/ - такой промежуточной папки может не быть, например на Windows
│ └── site-packages/ - здесь будут библиотеки установленные через pip
├── pyvenv.cfg - настройка окруженияПример структуры папок venv
Чтобы venv выполнял свои функции его нужно включить, для этого нужно прописать путь к файлу activate в папке которую мы создали выше.
.venv\Scripts\activateкоманда включения venv на Windows
source .venv/bin/activateкоманда включения venv на Linux и Macos
Чтобы быть уверенными, что окружение активировалось и мы работаем внутри него, нужно посмотреть в терминал, там должно отобразиться название папки окружения в скобочках.

Чтобы выйти из venv, то есть отключить его функции, пишем команду ниже:
deactivateкоманда отключения venv Windows / Linux / Macos
Для удаления виртуального окружения, требуется отключить его, а потом просто удалить папку, которую создали выше.
Убедитесь, что у вас стоит расширение python.
Откройте Extensions (Расширения) зажав (Ctrl+Shift+X), проверьте установлен ли Python от Microsoft.
Зажмите Ctrl+Shift+P (или Cmd+Shift+P на MacOS) и введите Python: Create Environment.
выберите модуль
venvвыберите папку
выберите Custom (Настраиваемый) и выбрате версию питона
введите название папки для виртуального окружения
выберите Skip (Пропустить установку пакета)
При создании проекта в pycharm можно выбрать вкладку Custom enviroment (настраиваемое окружение).
Следовательно там можно выбрать тип (virtualenv), версию питона и путь к виртуальному окружению, которое будет создано.
Если это уже действующий проект, требуется сделать следующий ряд действий:
пойти в Settings (настройки)
выбрать Project (проект)
нажать Python Interpreter (интерпретатор питона)
нажать add interpreter (добавить интерпретатор)
нажать add local interpeter (нажать добавить локальный интерпретатор)
выбрать generate new (создать новый), тип Virtualenv, выбрать питон и путь куда требуется поместить окружение, далее нажать ок
У venv есть как достоинства так и недостатки, разработчики создают свои аналоги чтобы было удобнее работать и меньше времени тратить на установку библиотек.
Так появились conda, pipenv, poetry и uv.
Идеальной замены у venv до сих пор нет, потому многие остаются преданными именно этому инструменту.
На первых парах, вы можете столкнуться с проблемами установки или запуска venv, это нормально, ниже мы рассмотрим некоторые проблемы и их решение:
Такая ошибка может появится в powershell (терминал от Windows).
Для ее решения можно попробовать ввести следующую команду или производить запуск через CMD терминал.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserКоманда: Разрешаем запуск локальных скриптов текущему пользователю
error: externally-managed-environment × this environment is externally managed ╰─> to install python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. if you wish to install a non-debian-packaged python package, create a virtual environment using python3 -m venv path/to/venv. then use path/to/venv/bin/python and path/to/venv/bin/pip. make sure yoпример ошибки python Linux
warning: running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. it is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. use the --root-user-action option if you know what you are doing and want to suppress this warning.пример ошибки python Linux
В линукс системах лучше не ставить библиотеки напрямую в системный питон, особенно от root пользователя, так как это может сломать работу операционной системы.
Если ничего из вышеперечисленного не помогает, вы можете обратиться за консультацией к программисту.
По необходимости вы можете обратиться за консультацией
Вам может быть интересно

Как получить данные из Wordstat от Яндекса по API на Python

Как дополнить файл поставщика для маркетплейса

Ваш первый сайт на Django: обзор фреймворка на Python

Как открыть XML-файл и посмотреть его в читаемом виде

Как работать с XML: редактировать и проверить
