#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
(раньше этого не было, что вызывало много проблем в прошлом).