Virtual environment python. Виртуальное окружение в питоне

Сам довольно долго игнорировал эту вещь, пока не дошёл до первого деплоя.


Копирую ответ с хабра

"Виртуальное окружение необходимо для того, чтобы решить проблему несовместимости библиотек внутри проекта. Предположим, что вы работаете над каким-нибудь проектом, который использует определенную библиотеку. Затем у вас появляется новый проект в котором вы решили использовать эту же библиотеку, но новой версии, которая по каким-то причинам не совместима со старой. И тут вы можете создать виртуальное окружение для нового проекта, установить в него необходимую версию библиотеки и иметь возможность работать над двумя проектами сразу."


Можно ещё проще. Вы учитесь/программируете на своём пк, ставите разные библиотеки и т.д. И тут вас приглашают в уже функционирующий проект, вы его клонируете к себе, но запустить ничего не получается, у вас python 3.8, а в проекте 3,9 или наоборот, к примеру 3,5. у вас установлена одна версия django, а на проекте другая.

В-общем по тем или иным причинам, определенные версии библиотек могут не дружить друг с другом.

И именно здесь приходит на помощь виртуальное окружение, независимо от того, какие версии чего бы то ни было у вас установлены "глобально", вы можете для любого проекта, создавать отдельное виртуальное окружение и именно для этого проекта устанавливать необходимые библиотеки.

Причин для использования как всегда больше, и нет смысла их все описывать.


Виртуальное окружение логично создавать в папке проекта. То есть в вашей папке с проектами projects есть папка myProject666 (projects/myProject666), внутри этой папки есть папка с проектом,  myProject666API (projects/myProject666/myProject666API) и созданная командой папка (projects/myProject666/myEnvName)


установка библиотеки для создания виртуального окружения: pip install virtualenv

создание виртуального окружения: virtualenv myEnvName  , где myEnvName - любое название, часто используется venv.

Активация созданного окружения на линукс: source myEnvName/bin/activate

Активация созданного окружения на винде: myEnvName\Scripts\activate

Деактивация: deactivate

После активации ставятся нужные библиотеки и запускается проект будучи "активированным"


В-общем не надо стесняться, используйте virtual environment