Обновление conda приводит к понижению версии и замене пакетов - PullRequest
12 голосов
/ 24 апреля 2019

Каждый раз, когда я хочу сделать 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 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 Ответ

3 голосов
/ 27 мая 2019

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

...