Управление средами и пакетами с помощью conda
Использование командной строки – это более быстрый и гибкий способ управления средами по сравнению с графическим интерфейсом. Все операции, которые мы выполняли в Anaconda Navigator, можно сделать с помощью conda в обычном терминале или в Anaconda Prompt (Windows), который при запуске автоматически активирует базовую среду Anaconda, что позволяет сразу же использовать команды conda.
Также вы можете использовать команды conda в Jupyter-ноутбуках, добавляя перед ними символ восклицательного знака.
Просмотр информации о conda
По умолчанию команда conda info отображает полную информацию о вашем менеджере conda, включая пути к компонентам и версии программного обеспечения:
active environment : myenv
active env location : C:\Users\Irina\anaconda3\envs\myenv
shell level : 2
user config file : C:\Users\Irina\.condarc
populated config files : C:\Users\Irina\anaconda3\.condarc
C:\Users\Irina\.condarc
conda version : 25.5.1
conda-build version : 25.5.0
python version : 3.13.5.final.0
solver : libmamba (default)
...
administrator : False
netrc file : None
offline mode : False
Но здесь нас обычно больше интересует флаг --envs, позволяющий отобразить только все созданные среды:
conda info --envs
Активная среда будет отмечена звёздочкой (*), например:
# conda environments:
#
base * C:\Users\Irina\anaconda3
newenv C:\Users\Irina\anaconda3\envs\newenv
Управление средами
В самом простом случае для создания новой среды используется команда conda create и флаг --name (или -n) для указания имени среды:
conda create --name myenv
По умолчанию среда создаётся с последней стабильной версией Python, однако вы можете указать желаемую версию интерпретатора:
conda create --name myenv python=3.10
Также вы можете сразу указать пакеты, которые будут установлены при создании среды:
conda create --name myenv pandas numpy
Создание среды из файла
Если кто-то поделился с вами средой и у вас есть файл с расширением .yml, то вы можете воссоздать эту среду с помощью флага --file:
conda env create --file environment.yml
Используемый файл может быть не только конфигурацией среды, но и обычным перечнем требуемых пакетов, например, requirements.txt:
conda create --name myenv --file requirements.txt
Создание копии среды
Флаг --clone позволяет клонировать существующую среду и создать точную её копию:
conda create --name new_env --clone old_env
Активация среды
Чтобы начать работать в созданной среде, её необходимо активировать командой conda activate:
conda activate myenv
Это одна из самых важных команд. Она делает среду активной и все последующие команды, например, conda или pip будут работать именно в ней. Название среды в скобках перед командной строкой показывает, что вы находитесь в ней. Например:
(myenv) C:\Users\User>
Деактивация среды
Для того, чтобы деактивировать активную среду, достаточно использовать команду conda deactivate:
conda deactivate
Экспорт конфигурации среды
Если вы хотите поделиться с кем-то созданной средой или создать её резервную копию, то с помощью команды conda env export вы можете создать файл конфигурации текущей активной среды в файле с расширением .yml:
conda env export > environment.yml
Выглядеть такой файл может следующим образом:
name: myenv
channels:
- conda-forge
- defaults
dependencies:
- bzip2=1.0.8=h2bbff1b_6
- ca-certificates=2025.8.3=h4c7d964_0
- expat=2.7.1=h8ddb27b_0
...
- zlib=1.2.13=h8cc25b3_1
prefix: C:\Users\Irina\anaconda3\envs\myenv
Удаление среды
Для удаления среды используется команда conda env remove и флаг --name с именем удаляемой среды:
conda env remove --name myenv
Будьте осторожны, так как эта команда полностью удалит среду и все установленные в ней пакеты.
Управление каналами
Необязательный файл конфигурации .condarc позволяет настроить поведение conda, в частности, определить каналы поиска пакетов. Он располагается в домашнем каталоге пользователя и создаётся автоматически при первом выполнении команды conda config. Также его можно создать вручную и/или разместить в корневом каталоге установки Anaconda, тем самым переопределив любые настройки в домашнем каталоге.
Файл .condarc использует язык YAML, поэтому его можно редактировать напрямую, и выглядеть он может следующим образом:
# This is a sample .condarc file.
# It adds the r Anaconda.org channel and enables
# the show_channel_urls option.
# channel locations. These override conda defaults, i.e., conda will
# search *only* the channels listed here, in the order given.
# Use "defaults" to automatically include all default channels.
# Non-url channels will be interpreted as Anaconda.org usernames
# (this can be changed by modifying the channel_alias key; see below).
# The default is just 'defaults'.
channels:
- defaults
- conda-forge
# Show channel URLs when displaying what is going to be downloaded
# and in 'conda list'. The default is False.
show_channel_urls: True
# For more information about this file see:
# https://conda.io/docs/user-guide/configuration/use-condarc.html
Такой файл можно сравнить со словарем, где channels и show_channels_urls – ключи, значения которых указаны после двоеточия. Ко всем ключам файла можно обращаться с помощью команды conda config ключ.
Conda поддерживает широкий спектр параметров конфигурации. Для того, чтобы получить полный список всех доступных параметров для вашей версии conda, используйте флаг --describe:
conda config --describe
Просмотр настроенных каналов
Чтобы увидеть все значения параметра channels, то есть какие каналы уже настроены в вашей conda и в каком порядке они используются, воспользуйтесь флагом --show:
conda config --show channels
Вывод покажет список каналов, отсортированный по приоритету, например:
channels:
- conda-forge
- defaults
Каналы, находящиеся выше в списке, имеют более высокий приоритет, и conda будет искать пакеты сначала в них.
Добавление нового канала
Добавить новый канал в начало списка channels позволяет флаг --add:
conda config --add channels conda-forge
Здесь у добавляемого канала conda-forge будет самый высокий приоритет. То есть после этой команды conda будет сначала искать пакеты в conda-forge, а затем в defaults.
Для того, чтобы сделать канал менее приоритетным, вы можете добавить его в конец списка channels с помощью флага --append:
conda config --append channels conda-forge
Удаление канала
Если канал больше не нужен, его можно удалить из списка channels с помощью флага --remove:
conda config --remove channels my-channel
Поиск доступных версий пакета
Прежде чем устанавливать пакет, вы можете посмотреть все доступные версии этого пакета:
conda search scikit-learn
По умолчанию поиск производится во всех используемых каналах:
# Name Version Build Channel
scikit-learn 0.19.0 py27hc691070_2 pkgs/main
scikit-learn 0.19.0 py35h3bd3ce1_2 pkgs/main
scikit-learn 0.19.0 py36h294a771_2 pkgs/main
scikit-learn 0.19.1 py27hbe35404_0 pkgs/main
...
scikit-learn 0.20.3 py27h9ae2c04_1 conda-forge
scikit-learn 0.20.3 py27hf381715_0 pkgs/main
scikit-learn 0.20.3 py36h343c172_0 pkgs/main
...
Но вы можете ограничить поиск каким-то одним каналом, добавив его название перед именем пакета:
conda search conda-forge::numpy
Тогда вы увидите все доступные версии только в выбранном канале:
# Name Version Build Channel
numpy 1.11.3 py27hab51878_1207 conda-forge
numpy 1.11.3 py36h873a0b8_1207 conda-forge
numpy 1.11.3 py37h873a0b8_1207 conda-forge
numpy 1.14.0 py35_blas_openblas_200 conda-forge
numpy 1.14.0 py36_blas_openblas_200 conda-forge
...
Кроме поиска пакетов, вы также можете посмотреть все доступные версии интерпретатора Python с помощью флага --full-name и его значения python:
conda search --full-name python
Список установленных пакетов
Команда conda list выводит на экран список всех пакетов, установленных в текущей активной среде:
conda list
По умолчанию среда создаётся с набором базовых предустановленных пакетов:
# Name Version Build Channel
bzip2 1.0.8 h2bbff1b_6
ca-certificates 2025.8.3 h4c7d964_0 conda-forge
expat 2.7.1 h8ddb27b_0
libblas 3.9.0 34_h5709861_mkl conda-forge
libcblas 3.9.0 34_h2a3cdd5_mkl conda-forge
libffi 3.4.4 hd77b12b_1
libhwloc 2.12.1 default_h88281d1_1000 conda-forge
libiconv 1.18 hc1393d2_2 conda-forge
...
Также вы можете просмотреть все пакеты, установленные в какой-то другой среде, передав её имя с помощью флага --name:
conda list --name myenv2
Экспорт списка установленных пакетов
Вы можете создать текстовый файл со всеми установленными пакетами с помощью флага --export:
conda list -e > requirements.txt
Созданный файл может быть использован командой conda create --file.
Установка пакетов
Для установки пакетов используется команда conda install, после которой перечисляются пакеты для установки:
conda install scipy
По умолчанию conda пытается установить самые новые версии запрошенных пакетов. Для этого он может обновить некоторые уже установленные пакеты или установить дополнительные. Чтобы предотвратить обновление существующих пакетов, используйте флаг --freeze-installed:
conda install scipy --freeze-installed
Это может заставить conda установить более старые версии запрошенных пакетов, но не помешает установке дополнительных зависимых пакетов.
Но если полная совместимость устанавливаемых пакетов не гарантируется, выдаётся ошибка, и среда не изменяется. Но вы можете пропустить установку зависимостей, используя флаг --no-deps:
conda install scipy --no-deps
Это может привести к созданию среды с несовместимыми пакетами, поэтому этот флаг следует использовать с большой осторожностью.
По умолчанию пакеты устанавливаются в текущую активную среду, но с помощью флага --name можно указать имя конкретной среды:
conda install -n myenv2 scipy curl bitarray=0.8
Здесь пакеты будут установлены в среду myenv2, даже если на данный момент активна среда base или myenv.
Удаление пакетов и сред
В самом простом случае для удаления пакета из текущей активной среды используется команда conda remove:
conda remove scipy
Но с помощью флага --name можно указать из какой именно среды требуется удалить пакеты:
conda remove -n myenv scipy curl wheel
Если нужно удалить все пакеты, то используется флаг –-all. При этом удаляется и сама среда:
conda remove -n myenv --all
Сохранить среду, но удалить все пакеты, позволяет флаг --keep-env:
conda remove -n myenv --all --keep-env
Удаление неиспользуемых пакетов и кэша
Команда conda clean удаляет неиспользуемые пакеты и очищает кэш. Однако при неосторожном использовании она может привести к проблемам с окружением. Чаще всего эта команда используется с флагом --tarballs для удаления неиспользуемых архивов пакетов, которые могут занимать много места:
conda clean --tarballs
0 комментариев