Почему conda обновляет некоторые библиотеки
Для m, в OS X, conda update --all
часто понижает библиотеки - вместе с обновлением многих.
Это обычное дело? Или что-то возможно в моей настройке?
В начале этого года это была подушка в течение многих месяцев.
Удивительно, но сегодня это было несколько библиотек, связанных с 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
Ответ 2
Некоторые библиотеки зависят от конкретных более низких версий для целей совместимости. conda update --all
будет пытаться обновлять пакеты как можно больше, но всегда поддерживает совместимость с ограничениями версии в каждом метаданных пакета. Обратите внимание, что пакет anaconda
не вступает в игру здесь (при условии, что у вас есть последняя версия conda), потому что conda update --all
игнорирует его.
К сожалению, не всегда легко понять, что зависит от чего, но есть некоторые трюки. Один из способов заключается в pin каждом пакете в нужную вам версию и conda update --all
. Он должен генерировать неудовлетворительный намек, который даст вам представление о том, что вызывает проблему. Другим способом является поиск метаданных пакета .
Для numba я могу предположить, что проблема, вероятно, связана с numbapro. Есть несколько пакетов, которые зависят от hdf5. Вы можете использовать conda info <package>
для просмотра зависимостей пакета (например, conda info h5py
).