Обновление conda приводит к понижению версии и замене пакетов

Каждый раз, когда я хочу conda update conda происходит следующее:

The following packages will be UPDATED:

  cryptography                         2.4.2-py27hc64555f_0 --> 2.6.1-py27hcfb25f9_0
  openssl                                 1.0.2r-h0c8e037_0 --> 1.1.1b-h0c8e037_1

The following packages will be SUPERSEDED by a higher-priority channel:

  jpeg                        pkgs/main::jpeg-9b-ha175dff_2 --> pkgs/free::jpeg-8d-vc9_2
  libtiff              pkgs/main::libtiff-4.0.10-h1c3b264_2 --> pkgs/free::libtiff-4.0.6-vc9_2
  pyqt                 pkgs/main::pyqt-5.6.0-py27h6e61f57_6 --> pkgs/free::pyqt-4.10.4-py27_1
  qt                     pkgs/main::qt-5.6.2-vc9hc26998b_12 --> pkgs/free::qt-4.8.7-vc9_6

The following packages will be DOWNGRADED:

  spyder                                       3.3.4-py27_0 --> 3.2.8-py27_0

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

РЕДАКТИРОВАТЬ:

Вывод conda config --show default_channels:

default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/free
  - https://repo.anaconda.com/pkgs/r
  - https://repo.anaconda.com/pkgs/msys2

Вывод conda config --show custom_multichannels:

custom_multichannels:
  local:
  defaults:
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/free
    - https://repo.anaconda.com/pkgs/r
    - https://repo.anaconda.com/pkgs/msys2

Ответы

Ответ 1

Это проблема совместимости. Анаконда - это стабильный набор пакетов. Когда вы обновляете 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