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