Во-первых, когда вы задаете вопрос, укажите свою среду: ОС, версия conda (conda info
), версия Python и т. Д.
Что такое канал
conda
менеджер среды Python и менеджер пакетовЧтобы установить пакеты, conda
должен скачать пакеты откуда-то. Место, где conda
получает список пакетов, называется каналом.
По умолчанию включены два канала с именами main
и r
, оба из которых поддерживаются Anaconda, самой компанией. conda-force
является каналом стороннего сообщества.
Цитата из документации conda-force
Что такое conda-forge?
conda-forge - это работа сообщества, которая предоставляет пакеты conda для широкого спектра программного обеспечения.
Укажите канал в командной строке с помощью -c channelname
, ярлык для --channel
.
Как исправить вашу проблему
Ваша проблема была вызвана смешанным использованием канала для одного пакета. gdal
было указано для установки из conda-forge
, но не из его зависимостей. Поскольку канал его зависимостей не указан, будут использоваться каналы по умолчанию main
и r
.
Чтобы исправить использование смешанной зависимости, включите "строгий" приоритет канала.
conda config --set channel_priority strict
, что делает канал, заданный --channel
, приоритетным по отношению к другим каналам.
channel_priority
(ChannelPriority)
При приоритете канала strict
пакеты в каналах с низким приоритетом неучитывается, если пакет с тем же именем появляется в канале с более высоким приоритетом.
Затем заново создайте среду и установите gdal
.
conda create --name test4gdal python=2.7
conda activate test4gdal
conda install -c conda-forge gdal
На этот раз все gdal
соответствующие пакеты устанавливаются из conda-forge
.
Ссылки