Почему conda не устанавливает самую последнюю версию spyder от conda-forge
Почему / как conda update --all
решил обновить до сборки в Конда-кузнечный пакет (Spyder в данном случае), который не не кажется, что самое последним?
У меня есть .condarc
файл с контентом
channels:
- conda-forge
- defaults
Более того, когда я делаю conda search spyder --channel conda-forge | grep forge | grep 4.1 | grep py37
я получил
spyder 4.1.0 py37hc8dfbb8_0 conda-forge
spyder 4.1.1 py37hc8dfbb8_1 conda-forge
Т.е. вроде бы есть 4.1.*
версий на этом канале.
Однако все, что я собираюсь сделать сconda update --all
является
~>conda list | grep spyder
spyder 4.0.1 py37_0 conda-forge
Почему это происходит? Это правильно? Что мне не хватает?
Просто для пояснения: я не "закрепляю" версию какого-либо другого пакета в своей системе. Более того, если я посмотрю на все пакеты, установленные в моей системе, ни в коем случае не установлены только сборки py37_0. Фактически, существует множество таких загадочных сборок 'manyascii_*', установленных черезconda update --all
.
ОБНОВИТЬ:
Это определенно не "ответ" на исходный вопрос - просто непонятное исправление из ниоткуда. Я переключил канал наconda
назад и вперед между pkgs/main
а также conda-forge
без особой причины (просто надеясь, что это может исправить некоторые проблемы в conda). После этого все еще не хотелupdate
до spyder 4.1.1, однако он позволил мне install
4.1.1 (т.е. с conda install spyder=4.1.1
. Это, конечно, неправильное поведение, но некоторая икота конды.
2 ответа
У меня тоже иногда возникает такая проблема, и причина ее не столь прямолинейна.
Первой причиной может быть приоритет канала, вы можете попытаться полностью отключить его с помощьюchannel_priority: disabled
или запуск с "-"
Вторая может быть зависимостью: возможно, что-то еще, что вам нужно обновить, отсутствует, или что-то будет понижено для обновления вашего пакета spyder, и лучший компромисс, найденный преобразователем, не то, что вы ожидаете.
Третий вариант может заключаться в том, что при первой установке Spyder вы сделали это, указав версию, которая мягко закрепила его.
Четвертым может быть резолвер, который упускает из виду, что иногда случается: вы должны явно указать, какие пакеты вы хотите обновить, например conda update spyder --all
. Кроме того, вы можете явно указать, какие пакеты следует агрессивно обновлять, в конфигурации "агрессивные_упдате_пакеты".
Исправление грубой силы.
Установить временный $HOME
где-то вроде /u/user/condatemp/
и убедитесь, что нет .condarc
в этом каталоге.
Перейдите туда - создайте свое окружение. При установкеspyder
попробуйте использовать channel/label/labelname
метод.
conda install -c conda-forge/label/blah-blah spyder -y
Надеюсь это поможет