更新conda会导致降级和取代软件包

时间:2019-04-24 08:48:27

标签: python anaconda 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 conda,而不必再运行conda update --all就可以得到更新的版本?

1 个答案:

答案 0 :(得分:3)

这是兼容性问题。 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