Почему 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

Надеюсь это поможет

Другие вопросы по тегам