Python3 Virtual Environment.
Что же такое этот Virtual Environment?
По сути Virtual Environment - это отдельное окружение для интерпретатора Python, которое позволяет асбтрагироваться от системного огружения.
Если вы занимаетесь разработкой скриптов, то вряд-ли сталкивались с виртуальными окружениями. Однако, если вы разрабатывали полноценные приложения или утилиты командной строки на Python, то с большой долей вероятности уже пользовались данным инструментом. Данный инструмент позволяет ихолировать пакеты для вашего скрипта от системного окружения в своё отдельное окружение, что поможет, к примеру, избежать конфликта версий пакетов.
Когда возникают проблемы?
Один из недавних случаев, произошедших у меня: две различные утилиты написанные на разных версиях Python 3 требуют разные версии пакета Twisted и PyCrypto. Изначально я установил одну утилиту, которая требовала старых версий этих библиотек, а в след за ними установил другую утилиту, которая подтягивала последние версии данных библиотек. Итог: первая утилита выдаёт ошибку, что библиотек нет, хотя они есть.
В данном случае мне и помогло отдельное виртуальное окружение для первой утилиты.
Быстрый гайд как работать с ними.
1. Где взять Venv? Обычно venv поставляется вместе с Python3, однако вы можете его поставить при помощи команды:
2. Далее необходимо создать виртуальное окружение
Вместо <env> имя вашего виртуального окружения
3. На данном этапе виртуально окружение создано, в данном окружении будут все ваши системные пакеты, но их оттуда можно спокойной удалить. Для этого нужно активировать окружение командой ниже:
Для Linux:
Для Windows:
4. После вы можете работать с утилитой pip, все пакеты будут устанавливаться в рамках вашего виртуального окружения, поэтому не затронут внешние пакеты
Вот и всё, работа с виртуальными окружениями очень проста, однако не все знаю об этой фиче языка Python. Любые вопросы и исправления приветствуются ниже)
Что же такое этот 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. Любые вопросы и исправления приветствуются ниже)