conda更新anaconda的问题

时间:2016-12-25 13:24:54

标签: python python-2.7 anaconda conda

我正在尝试更新Mac上的anaconda。当我运行命令conda update anaconda时,我得到以下输出

The following packages will be downloaded:

package                    |            build
---------------------------|-----------------
conda-env-2.6.0            |                0          601 B
conda-4.2.13               |           py27_0         375 KB
------------------------------------------------------------
                                       Total:         375 KB

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

conda:        4.2.13-py27_0      conda-forge --> 4.2.13-py27_0
conda-env:    2.6.0-0            conda-forge --> 2.6.0-0
hdf5:         1.8.17-8           conda-forge --> 1.8.15.1-1
jpeg:         9b-0               conda-forge --> 8d-1
libpng:       1.6.26-0           conda-forge --> 1.6.17-0
libtiff:      4.0.6-5            conda-forge --> 4.0.2-1
numexpr:      2.6.1-np111py27_0  conda-forge --> 2.4.3-np19py27_0

The following packages will be DOWNGRADED due to dependency conflicts:

numpy:        1.11.0-py27_0                  --> 1.9.2-py27_0
pip:          8.1.2-py27_0                   --> 7.0.3-py27_0
scikit-learn: 0.17.1-np111py27_0             --> 0.16.1-np19py27_0
scipy:        0.17.0-np111py27_0             --> 0.15.1-np19py27_0

Proceed ([y]/n)?

我的问题是为什么包会DOWNGRADED?或者,如果有更好的方法可以使系统保持最新状态。

编辑1

当我conda update --all时,我得到以下输出:

Fetching package metadata .......
Solving package specifications: ....


UnsatisfiableError: The following specifications were found to be in conflict:
  - jasper -> jpeg 9*
  - sockjs-tornado
Use "conda info <package>" to see the dependencies for each package.

2 个答案:

答案 0 :(得分:3)

Anaconda是一个发行版。它包含许多具有特定版本的包。 最新的Anaconda软件包不一定是每个软件包的最新版本。因此,如果您安装了较新版本的软件包并且anaconda软件包本身尚未更新,则会降级这些软件包。

作为替代方案,您可以使用:

conda update --all

更新当前环境中所有已安装的软件包。

答案 1 :(得分:2)

Continuum博客可能有您需要的答案:

来自https://www.continuum.io/blog/developer/advanced-features-conda-part-1#conda-update-all

&#34; anaconda元数据包专为希望保留稳定套餐的人而设计,这些套餐已经过一起测试。它每隔几个月更新一次。如果你想这样做,你应该保持anaconda安装并使用conda update anaconda进行更新。如果你想在最新版本发布时单独更新软件包,你应该删除anaconda并使用conda update --all来保持软件包是最新的。&#34;

所以,是的,如果你不介意最后降级包裹,你会得到一个连贯的环境。我个人会选择那个选项,除非我需要那些降级库版本的特定功能。