Anaconda安装之后Spyder闪退解决办法


第一阶段:

从官网下载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,大功告成

你可能感兴趣的:(python,python,深度学习,开发语言)