Виртуальное окружение Python — просто и без заморочек
Часто вижу, как народ путается с виртуальными окружениями в Python, типа зачем они нужны и как их правильно ставить. Короче, идея в том, что окружение помогает изолировать зависимости под проект, чтобы ничего не хавало или не ломало глобальную систему.
Если у вас Python 3.3+, самый простой способ — встроенный модуль venv. Просто пишешь в папке проекта python -m venv venv, после активируешь (на винде venv\Scripts\activate, на линуксе source venv/bin/activate), и устанавливаешь все уже локально. Если не активировать — все пакеты пойдут в глобальный каталог, и это как правило нежелательно.
Проверяйте версию Python, раньше иногда слетала активация, если строки команд путались. Ещё бывает, что у кого-то стоит неактуальный pip — его лучше сразу апгрейдить venv-пипом, чтобы не было проблем с установкой.
Вариант с virtualenv актуален если нужно что-то под старые версии или еще какие-то фишки. Но большинству хватает venv.
Если надо переключаться между проектами — просто активируете нужное окружение. Не забывайте удалять старые, если места мало.
Как у вас с виртуалками? Кто чем пользуется и были ли косяки?
Все верно, виртуалки реально спасают от каши с пакетами. Сам начал юзать venv — удобно, что не надо ничего дополнительно ставить. Иногда обновляю pip внутри окружения, чтобы без глюков ставить модули — иначе реально могут быть проблемы. Если не заморачиваться с virtualenv, то venv дико облегчает жизнь, особенно с проектами на разных версиях Python.
Пока только начал ковыряться с venv, но уже проще стало. Раньше все пакеты ставил глобально и потом путался, где что. Активировать окружение несложно, а зачем надо — теперь понятно, что чтобы проекты не мешали друг другу. Пока все норм, буду дальше пробовать.