почему обновление conda понижает рейтинг некоторых библиотек

#python #anaconda #conda

#anaconda #conda

Вопрос:

Для m в OS X conda update --all часто понижает рейтинг библиотек — наряду с обновлением многих.

Это обычно? Или что-то, возможно, в моей настройке?

Ранее в этом году это было pillow в течение многих месяцев.

Удивительно, но сегодня это были несколько библиотек, связанных с HDF5, numba и llvmlite.

Таким образом, conda update numba возвращает numba к самой последней версии и так далее с другими 8 библиотеками, но почему conda update --all этого все равно не делает?

Ответ №1:

Это проблема совместимости. Anaconda — это стабильный набор пакетов. При обновлении Anaconda вы обновляетесь до этого стабильного списка.

Однако при обновлении отдельных пакетов они могут вызывать проблемы несовместимости с остальной частью дистрибутива Anaconda, поэтому они не считаются стабильными. Вот почему при использовании conda update --all вы получаете последний стабильный дистрибутив Anaconda, который может иметь или не иметь версию отдельного пакета, который вы хотели.

Смотрите здесь:https://github.com/ContinuumIO/anaconda-issues/issues/39

Редактировать: это поведение изменилось. Теперь он пытается увеличить версию всех пакетов (кроме Python между основной и второстепенной версиями), чтобы никакие пакеты не были несовместимы друг с другом.

Смотрите здесь:http://continuum.io/blog/advanced-conda-part-1#conda-update-all

Комментарии:

1. Спасибо Рингил — очень признателен. Был удивлен, не увидев вопроса в Stackoverflow по этому поводу… Мне следовало подумать о том, чтобы посмотреть на область Continuum на github.

2. я не понимаю, почему это принятый ответ, в вопросе даже не упоминается мета-пакет Anaconda? Это не обязательно использовать при использовании conda через miniconda.

3. ах, ну, у него есть тег anaconda.

Ответ №2:

Некоторые библиотеки зависят от определенных более низких версий в целях совместимости. conda update --all попытается обновить пакеты как можно больше, но при этом всегда поддерживает совместимость с ограничениями версии в метаданных каждого пакета. Обратите внимание, что anaconda пакет здесь не используется (при условии, что у вас последняя версия conda), потому что conda update --all игнорирует его.

К сожалению, не всегда легко увидеть, что от чего зависит, но есть некоторые хитрости. Один из способов — привязать каждый пакет к нужной вам версии и запустить conda update --all . Это должно сгенерировать подсказку о неудовлетворительности, которая даст вам представление о том, что вызывает проблему. Другой способ — выполнить поиск по метаданным пакета.

Что касается numba, я могу предположить, что проблема, скорее всего, связана с numbapro. Есть несколько пакетов, которые зависят от hdf5. Вы можете использовать conda info <package> для просмотра зависимостей пакета (например conda info h5py ).

Комментарии:

1. Спасибо Аарон (я поставил галочку Рингилу … ты уже переполнен любовью :-).

2. Ответ Рингила не совсем корректен. Как я уже отмечал, anaconda пакет полностью игнорируется conda update --all (раньше этого не было, что вызывало много проблем в прошлом).