Включить канал Conda-forge для диспетчера пакетов Conda
В этом руководстве объясняется, что такое канал conda-forge
, как устанавливать пакеты из conda-forge
и, наконец, как навсегда включить канал conda-forge
для менеджера пакетов conda
из командной строки, а также из графического интерфейса Anaconda Navigator в Linux.
Что такое конда-форж?
По умолчанию менеджер пакетов conda
устанавливает пакеты из канала defaults
. Все пакеты в канале defaults
тщательно тестируются и поддерживаются командой Conda из Anaconda, Inc.
Помимо официального канала defaults
, существует несколько сторонних каналов для размещения пакетов и управления ими. Одним из таких каналов является conda-forge
.
Conda-forge — это канал под руководством сообщества, который предоставляет новейшие пакеты conda для широкого спектра программного обеспечения.
Канал defaults
не всегда может содержать все пакеты. Возможно, некоторые пакеты отсутствуют или могут содержать устаревшие пакеты. Сообщество conda-forge
решает эти проблемы, поддерживая актуальность пакетов с помощью тысяч участников.
Проект Conda-forge финансируется NumFOCUS, некоммерческой организацией, занимающейся поддержкой сообщества научных вычислений с открытым исходным кодом.
Установите пакеты с канала conda-forge
Возможна установка пакетов из определенного канала, не добавляя его в нашу систему. Давайте посмотрим пример.
Рекомендуется всегда устанавливать пакеты из канала conda-forge
в новую среду вместо среды base
по умолчанию.
Следующая команда создаст новую среду с именем testapp и установит pandas вместе с вспомогательными пакетами в среде testapp:
conda create --channel conda-forge --name testapp pandas
Или,
conda create -c conda-forge -n testapp pandas
Установите пакеты с канала conda-forge
Здесь флаг -c
(--channel
) используется для явного указания имени канала, т. е. в нашем случае conda-forge
.
Активируйте вновь созданную среду «testapp»:
conda activate testapp
Проверьте происхождение всех установленных пакетов в среде:
$ conda list
packages in environment at /home/sk/anaconda3/envs/testapp:
#
Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 1_gnu conda-forge
ca-certificates 2020.12.5 ha878542_0 conda-forge
certifi 2020.12.5 py39hf3d152e_1 conda-forge
ld_impl_linux-64 2.35.1 hea4e1c9_2 conda-forge
libblas 3.9.0 8_openblas conda-forge
libcblas 3.9.0 8_openblas conda-forge
libffi 3.3 h58526e2_2 conda-forge
libgcc-ng 9.3.0 h2828fa1_18 conda-forge
libgfortran-ng 9.3.0 hff62375_18 conda-forge
libgfortran5 9.3.0 hff62375_18 conda-forge
libgomp 9.3.0 h2828fa1_18 conda-forge
liblapack 3.9.0 8_openblas conda-forge
libopenblas 0.3.12 pthreads_h4812303_1 conda-forge
libstdcxx-ng 9.3.0 h6de172a_18 conda-forge
ncurses 6.2 h58526e2_4 conda-forge
numpy 1.20.1 py39hdbf815f_0 conda-forge
openssl 1.1.1j h7f98852_0 conda-forge
pandas 1.2.2 py39hde0f152_0 conda-forge
pip 21.0.1 pyhd8ed1ab_0 conda-forge
python 3.9.1 hffdb5ce_5_cpython conda-forge
python-dateutil 2.8.1 py_0 conda-forge
python_abi 3.9 1_cp39 conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
readline 8.0 he28a2e2_2 conda-forge
setuptools 49.6.0 py39hf3d152e_3 conda-forge
six 1.15.0 pyh9f0ad1d_0 conda-forge
sqlite 3.34.0 h74cdb3f_0 conda-forge
tk 8.6.10 h21135ba_1 conda-forge
tzdata 2021a he74cb21_0 conda-forge
wheel 0.36.2 pyhd3deb0d_0 conda-forge
xz 5.2.5 h516909a_1 conda-forge
zlib 1.2.11 h516909a_1010 conda-forge
Список установленных пакетов в среде conda
Как вы видите в приведенном выше выводе, все пакеты устанавливаются из репозитория conda-forge
.
Если вы не хотите создавать новую среду, а устанавливаете пакеты в существующую активную среду, запустите:
conda install --channel conda-forge pandas
Эта команда установит пакет pandas из канала conda-forge
в существующую среду.
Давайте проверим, добавлен ли канал conda-forge
, используя один из следующих методов:
conda info
Эта команда отображает сведения о текущей активной среде conda, включая каналы.
[...]
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
[...]
Если вы хотите показать только каналы, используйте эту команду:
conda config --show channels
Пример вывода:
channels:
- defaults
Чтобы показать только каналы по умолчанию, запустите:
conda config --show default_channels
Пример вывода:
default_channels:
- https://repo.anaconda.com/pkgs/main
- https://repo.anaconda.com/pkgs/r
Показать активные каналы в среде conda
Как видно из приведенных выше результатов, conda-forge
не добавляется. Мы установили только пакеты из канала conda-forge
, но еще не добавили их.
Теперь давайте добавим или включим канал conda-forge
навсегда.
Включить канал conda-forge для диспетчера пакетов conda в Linux
Как уже говорилось, мы можем добавить или включить канал conda-forge
либо из командной строки, либо из графического пользовательского интерфейса Anaconda Navigator. Сначала мы увидим способ командной строки.
1. Добавьте канал conda-forge из командной строки.
Чтобы включить канал conda-forge
, выполните следующую команду из терминала:
conda config --add channels conda-forge
Как говорилось ранее, conda
устанавливает пакеты из канала defaults
, если вы явно не укажете ему устанавливать пакеты из определенного канала.
Чтобы всегда устанавливать пакеты из conda-forge
, установите более высокий приоритет для канала conda-forge
с помощью команды:
conda config --set channel_priority strict
Здесь параметр channel_priority strict
поместит канал conda-forge
поверх канала defaults
и гарантирует, что все зависимости будут исходить из conda-forge
канал, если только они не существуют только в default
.
Проверьте, добавлен ли канал conda-forge
с помощью команды:
$ conda config --show channels
channels:
- conda-forge
- defaults
Ты заметил? conda-forge
размещается в верхней части канала defaults
.
Теперь вы можете обычно устанавливать любой пакет в своей среде без явного упоминания канала, как показано ниже:
conda install pandas
Пакет всегда будет загружаться с канала conda-forge
.
Установите пакеты из conda-forge в Linux
На всякий случай, если пакет или его зависимости недоступны в conda-forge
, они будут загружены из канала defaults
.
Как я уже упоминал, рекомендуется всегда устанавливать пакеты в новой среде вместо среды base
по умолчанию. Таким образом вы сможете избежать конфликтов пакетов и поддерживать чистую среду base
.
Добавление каналов через командную строку не составляет большого труда. Однако некоторые из вас предпочитают графический способ выполнения задач. В следующем разделе объясняется, как включить канал conda-forge
из графического интерфейса Anaconda Navigator.
2. Добавьте канал conda-forge из Anaconda Navigator.
Запустите Anaconda Navigator с помощью команды:
anaconda-navigator
Нажмите кнопку «Каналы»:
Нажмите кнопку «Каналы» в графическом интерфейсе Anaconda Navigator.
Нажмите кнопку «Добавить»:
Нажмите «Добавить», чтобы добавить новый канал.
Введите URL-адрес канала conda-forge
— https://conda.anaconda.org/conda-forge/
. Нажмите клавишу ENTER, чтобы обновить список каналов.
Введите URL-адрес канала conda-forge.
Наконец, нажмите кнопку Обновить каналы, чтобы включить канал conda-forge.
Ресурс:
- Веб-сайт Conda-forge