最近不知道什么原因Spyer打开后会弹出以下错误,虽然无视这一错误直接跳过似乎也不影响使用(也可能是使用中没有涉及到跟rtree相关的东西),但是心中总是不爽:
用conda list命令查了一下,rtree 0.9.7好端端地在那儿:
回想起来可能是这一两天内因为要安装PyMC而顺手执行了一下conda update之类的命令进行了Anaconda更新并进而导致了这一问题。
上网查了一圈,虽然大多数的帖子都是提到Spyder5.0.5,但是事实上这似乎是一个历史更为“久远”的问题。根据以下链接:Spyder Missing Dependencies! error on latest Anaconda · Issue #14833 · spyder-ide/spyder · GitHubhttps://github.com/spyder-ide/spyder/issues/14833 在更早的时候就有人在Anaconda更新时碰到过这个问题(报告的时候的版本为Spyder4.2.1),所以这个应该并不是Spyder的问题。
兜兜转转查了一圈,似乎并没有一个很官方正式的解决方案。最后参考“spyder5.0.5老出现 You have missing dependencies! # Mandatory: rtree >=0.9.7 : None 这种依赖错误-后端-CSDN问答”的说明,用一个民间土方暂时把这个讨厌的警告对付过去了:
(1) 在系统中搜索spatialindex_c-64.dll。在“C:\Users\chenxy\Anaconda3\pkgs\libspatialindex-1.9.3-h39d44d4_4\Library\bin”底下找到(似乎在其它几个目录下也有)
(2) 将以上找到的spatialindex_c-64.dll复制到anaconda的环境目录下C:\Users\chenxy\anaconda3\Lib\site-packages\rtree目录底下
重新启动Spyder,不再出现以上警告信息。
不过不清楚这是不是一个永久性解决方案。比如说下次再更新Anaconda时还会不会有同样的问题出现呢。暂且记录于此,算是给未来提供一点线索。
【补充】
linux环境执行:
sudo apt install libspatialindex-dev
windows10 环境执行:
conda install -c conda-forge libspatialindex
conda install -c conda-forge rtree
不过并没有试过,因为前面已经临时应付过了。后面再碰到这个问题时再来尝试这个方案。
另外,spyder4升级到5.0.2 出现 You have missing dependencies! # Mandatory: rtree >=0.8.3 : None 依赖错误。_wubingliang79的博客-CSDN博客给出了一个先退rtree版本再重新升级的方案.
【再补充】
在Spyder菜单栏选择Help-->Dependencies可以查看当前安装版本的依赖包及各自安装情况,如下所示。但是之前不知道,没有查看。否则可以对比查看一下这个问题解决前后此处信息有何变化-->后来者再碰到这个问题可以先看看这个信息,看看Required和Installed两栏信息是否匹配。