为什么matplotlib不会在Anaconda中更新到2.0版本

Ant*_*nio 8 python matplotlib libraries anaconda conda

我最近试图更新我的所有Anaconda包:

conda update conda
conda update anaconda
Run Code Online (Sandbox Code Playgroud)

其中一些还没有更新,所以我也做了conda update --all.现在我的conda version : 4.3.16,这似乎是最新版本.但是,出于某种原因,matplotlib仍然有旧版本:

conda list
matplotlib                1.5.1               np111py35_0 
Run Code Online (Sandbox Code Playgroud)

根据Anaconda的更新日志,它应该更新到2.0版本:matplotlib from 1.5.3 to 2.0.0.我安装的python版本3.5.2,如果这很重要.

UPD:似乎spyder-app因为依赖问题而阻止更新:

 conda install anaconda=4.3.1
UnsatisfiableError: The following specifications were found to be in conflict:
  - anaconda 4.3.1* -> spyder 3.1.2 py34_0
  - spyder-app -> spyder 2.3.3
Use "conda info <package>" to see the dependencies for each package.

conda install matplotlib=2
UnsatisfiableError: The following specifications were found to be in conflict:
 - matplotlib 2.0*
 - spyder-app -> spyder 2.3.0 -> pyqt 4.* -> qt >=4.8.6,<5.0
 - spyder-app -> spyder 2.3.0 -> pyqt 4.* -> sip >=4.16.4,<4.18
 Use "conda info <package>" to see the dependencies for each package.
Run Code Online (Sandbox Code Playgroud)

UPD2:通过删除spyder-app解决了问题:

conda remove spyder-app
conda update anaconda
Run Code Online (Sandbox Code Playgroud)

Matlotlib已更新至2.0版本,以及其他更新的软件包.我还检查了Spyder IDE是否仍然有效,它仍然可以运行.

MSe*_*ert 7

这可能是一种依赖性冲突.该anaconda软件包只是一个捆绑软件包的元软件包,如果由于您安装的软件包无法更新某些软件包(可能需要matplotlib < 2,或者甚至间接需要matplotlib所依赖的软件包和版本)那么您可能无法安装最新版本的anaconda软件包.你可以尝试自己安装最新的anaconda软件包(目前是4.3.1):

conda install anaconda=4.3.1
Run Code Online (Sandbox Code Playgroud)

但是您也可以尝试matplotlib手动安装特定版本,看看会发生什么(如果由于依赖性而无法安装它应该有一条指导性消息):

conda install matplotlib=2
Run Code Online (Sandbox Code Playgroud)

在你的情况下,spyder-app这是负责任的.这是一个已弃用的软件包,不包含在较新版本的anaconda中,所以有一种可能性就是删除它:

conda remove spyder-app
Run Code Online (Sandbox Code Playgroud)

然后尝试更新anacondamatplotlib.

另一种方法是创建一个新环境,然后您可以选择在以下情况下使用哪个环境:

conda install -n mynewenvironment python=3.5 anaconda
Run Code Online (Sandbox Code Playgroud)

然后在需要时使用新环境matplotlib2和旧环境(如果需要)spyder-app(并且不关心matplotlib版本).

  • @Antonio你可以编辑你的问题(包括你使用的命令吗?)但是看看,'spyder-app`阻止了更新(你可能手动安装了,对吗?)所以你可以尝试删除它( `conda删除spyder-app`,无论如何都弃用了)然后更新`matplotlib`和/或`anaconda`. (2认同)