Глава 2 · Давайте установим Python!

conda, Miniconda, Miniforge, Anaconda

Ещё одна семья инструментов, родом из data science — со своей моделью окружений и своим взглядом на пакеты.

conda — ещё один менеджер пакетов и окружений, изначально созданный для data science и научных вычислений компанией Anaconda, Inc. Его ключевое отличие от pip: conda умеет устанавливать не только Python-пакеты, но и непитоновские зависимости — например, компиляторы, библиотеки CUDA для видеокарт, системные библиотеки для научных вычислений — то, с чем pip в одиночку не справляется.

Anaconda, Miniconda, Miniforge — в чём разница

Все три — это способы получить conda на компьютер, а не три разных инструмента:

Дистрибутивы наоснове condaAnacondaПолный набор: conda +сотни пакетов для данныхсразуMinicondaМинимальный: только conda,пакеты — по запросуMiniforgeКак Miniconda, но соткрытым сообществомconda-forge по умолчанию
Все три ставят один и тот же инструмент conda — отличается только то, что идёт «в комплекте»

Окружения в conda

Терминал
conda create -n my-project python=3.14
conda activate my-project
conda install numpy pandas

Идея точно та же, что и у venv (раздел 2.10) — изолированное окружение на проект. Отличие в деталях: conda хранит окружения не в папке проекта, а в общем месте на диске, и вы обращаетесь к ним по имени (-n my-project), а не по пути.

Как conda и pip уживаются вместе

Внутри активированного conda-окружения команда pip тоже работает — и часто используется для пакетов, которых нет в репозиториях conda. Правило хорошего тона: сначала ставьте через conda install всё, что доступно этим способом, и только оставшееся — через pip install, чтобы не запутать собственную систему разрешения зависимостей conda.

Не смешивайте venv и conda для одного окружения
conda и venv — два независимых способа создавать изолированные окружения. Не пытайтесь активировать venv внутри conda-окружения (или наоборот) для одного и того же проекта — выберите один инструмент на проект.

Когда выбирать conda

Практический совет
Если вы занимаетесь анализом данных, машинным обучением или научными вычислениями и используете библиотеки со сложными непитоновскими зависимостями (например, некоторые версии PyTorch с поддержкой GPU) — conda часто удобнее. Для этого курса и для большинства обычных проектов на Python вполне достаточно связки venv + pip из разделов 2.10–2.13.