第一阶段:
从官网下载Anaconda之后,安装,一切正常。打开Anaconda navigator,提示我是否更新,要选不要更新。
点击spyder之后,spyder的启动图标可以正常显示,图标下面一行小字load各种东西也正常,但最后显示load main window之后就自动闪退了,什么也没有,任何错误信息都看不到。
最终可行解决方案:
1.打开Anaconda Prompt,输入spyder --new-instance
spyder会启动,然后闪退…但Anaconda Prompt 会显示出错信息,我上面显示有四行:
link image0 hasn't been detected!
Bad file descriptor (bundled\zeromq\src\epoll.cpp:100)
[一大串数字:ERROR:broker_win.cc(59)] Error reading broker pipe: 管道已结束。 (0x6D)[一大串数字:ERROR:broker_win.cc(59)] Error reading broker pipe: 管道已结束。 (0x6D)
2.继续在Anaconda Prompt中输入pip check
会出现几行字,有两行与spyder有关,其中一行显示:
spyder requires pyqt5, which is not installed
另一行是说spyder需要另一个包,也没安装,但我不记得是什么了,但它的安装过程跟pyqt5一样。下面只说pyqt5的方法
3.输入pip install pyqt5==5.12.3
(如果只输入pip install pyqt5,他会自动安装最新版本,然后有红字提醒,意思大概是spyder要求pyqt5的版本不能高于5.13。这时,需要输入pip uninstall pyqt5,把最新版本卸掉,再重新安装旧版本。如果你想查看有哪些旧版本可以选择,输入pip install pyqt==5.33,==后面不一定是5.33,只要是个不存在的版本号就行,他会报错,并且显示出有哪些版本可供选择。我选的是5.12.3)
这时应该会提示还有一个包pyqtwebengine也要求版本要低于5.13
那就继续输入pip install pyqtwebengine==5.12.1
4.输入spyder --new-instance,尝试再次启动spyder。
这一次,spyder依然会闪退,但报错信息只剩下一行:
Bad file descriptor (bundled\zeromq\src\epoll.cpp:100)
这说明我们的道路是正确的!至少已经解决了部分问题。剩下的问题是另一个包pyzmq的问题,下面我们开始解决它(我不知道大佬们怎么知道是这个包的问题,但我照着做确实解决了……莫非是zeromq跟zmq长得很像,才发现的?)。
5. 输入pip uninstall pyzmq
(卸载是因为pyzmq版本过高,不匹配。你可以输入pip show pyzmq 查看当前版本,不出意外的话,应该是22.x.x)
再输入pip install pyzmq==19.0.2安装旧版本
6. 再次输入spyder --new-instance
它成功启动了!!!!!
更新后如果spyder还是无法启动
1.再次打开Anaconda prompt,简单排查
输入pip check
这时,它没有显示关于spyder的报错,证明pyqt5那俩包还正常。
输入spyder --new-instance
它会报错,报一大堆错,我也看不懂…翻来覆去就在那错误里看见两个字:pyzmq。然后说在里面找不到REC之类云云。我猜,这大抵又是pyzmq出了问题。
2.输入pip uninstall pyzmq卸掉pyzmq
输入pip install pyzmq==20.0.0再装一个新一点的版本(这里可以用上面说的那个方法,给他指定一个不存在的版本,看有哪些版本可以安装,我选的是20.0.0,你们可以试一试别的版本行不行,不要尝试最新的)
3.重启spyder,大功告成
总结
到此这篇关于Anaconda安装后Spyder闪退解决的文章就介绍到这了,更多相关Anaconda安装后Spyder闪退内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!