Статья Venv. Что это, почему и зачем?

JubyL3y

Кодер
Кодер
hackerville
Сообщения
13
Реакции
8
Python3 Virtual Environment.

Что же такое этот Virtual Environment?
По сути Virtual Environment - это отдельное окружение для интерпретатора Python, которое позволяет асбтрагироваться от системного огружения.
Если вы занимаетесь разработкой скриптов, то вряд-ли сталкивались с виртуальными окружениями. Однако, если вы разрабатывали полноценные приложения или утилиты командной строки на Python, то с большой долей вероятности уже пользовались данным инструментом. Данный инструмент позволяет ихолировать пакеты для вашего скрипта от системного окружения в своё отдельное окружение, что поможет, к примеру, избежать конфликта версий пакетов.

Когда возникают проблемы?

Один из недавних случаев, произошедших у меня: две различные утилиты написанные на разных версиях Python 3 требуют разные версии пакета Twisted и PyCrypto. Изначально я установил одну утилиту, которая требовала старых версий этих библиотек, а в след за ними установил другую утилиту, которая подтягивала последние версии данных библиотек. Итог: первая утилита выдаёт ошибку, что библиотек нет, хотя они есть.
В данном случае мне и помогло отдельное виртуальное окружение для первой утилиты.


Быстрый гайд как работать с ними.
1. Где взять Venv? Обычно venv поставляется вместе с Python3, однако вы можете его поставить при помощи команды:
pip install virtualenv
2. Далее необходимо создать виртуальное окружение
python3 -m venv <env>
Вместо <env> имя вашего виртуального окружения
3. На данном этапе виртуально окружение создано, в данном окружении будут все ваши системные пакеты, но их оттуда можно спокойной удалить. Для этого нужно активировать окружение командой ниже:
Для Linux:
source ./env/bin/activate
Для Windows:
env\bin\activate.bat
4. После вы можете работать с утилитой pip, все пакеты будут устанавливаться в рамках вашего виртуального окружения, поэтому не затронут внешние пакеты

Вот и всё, работа с виртуальными окружениями очень проста, однако не все знаю об этой фиче языка Python. Любые вопросы и исправления приветствуются ниже)
 
  • Like
Реакции: NonJubyL3y

Золотой

Ефрейтор
Сообщения
7
Реакции
0
Виртуальная среда - это сетевое приложение, которое позволяет пользователю взаимодействовать как с вычислительной средой, так и с работой других пользователей. Электронная почта, чат, веб-приложения для обмена документами - все это примеры виртуальных сред.

Можно еще и так дополнить для новичков.
 

banyoupls

Рядовой
Сообщения
3
Реакции
1
Virtualvenv нужен когда тебе в одном проекте надо использовать модуль одной версии, во втором проекте модуль другой версии, и каждый раз не переустанавливать их, один раз установил нужную версию для каждого проекта внутри vvenv и работаешь спокойно без костылей.

*если кратко и без воды
 
  • Like
Реакции: megaDED