spyder闪退的解决办法

事情发生在昨天,我更新了shap包后,spyder突然闪退,于是我尝试了更新spyder、卸载shap包、更新conda等一系列操作,均无果,甚至spyder直接消失了,经过一天的折腾终于搞清楚了里面是怎么回事,话不多说,讲重点:

1、一般这种更新后spyder闪退的问题,都是pyqt5和pyzmq版本与spyder版本不匹配的问题,像我现在用的spyder5.2.2,搭配pyqt5_5.12.3和pyzmq_24.0.0就可行。其实中间我有将spyder升级到5.3.3,pyqt5和pyzmq也都升级到最高版本过,spyder确实正常运行了,但好多包都需要跟着更新(比如pandas),而且重装了shap包后,程序也不能正常运行,结果就是又更新包,然后spyder又闪退。所以大家尽量还是不要用spyder5.3.3,版本估计不太稳定。

2.在以上更新、卸载、安装包的过程中,我发现了一个重要的点(可能熟悉python的人都知道,我是半路出家,比较小白),使用conda进行安装、卸载等操作的话,它会做一个整体的环境配置,就比如我uninstall pyzmq 23.0.0的时候,它直接也会将与适配的spyder5.3.3卸载(我记不清版本号了,大概是这俩),当然它会问你process yes or no,但我看到一堆英文都头晕不细看,直接输入y,结果就导致我的spyder一度消失。而用pip进行这些操作的话,它只关注你输入的这一个包,而不会管其它包,这样你就可以单独安装我上面说的这三个版本的spyder、pyqt5、pyzmq,基本就能解决闪退的问题。以后用conda进行更新什么的,一定要慎重啊,看清楚代码写的是什么再操作

你可能感兴趣的:(python)