Spyder打开闪退解决办法

python3.10
spyder5.4.3

1.检查spyder打开闪退的原因

在Prompt中输入spyder return 或者spyder --new-instance,会出现报错信息,根据报错信息检索

2. Bad file descriptor (C:\projects\libzmq\src\epoll.cpp:100)

还有一个相似的报错是Bad file descriptor (C: \ci \zeromq_ 1616055400030\work\src\epo1l. cpp: 100)

可以看出来两个报错的文件路径都是不存在的,而且这是关于pyzmq的包的路径。网上大多通过pyzmq降级来解决,github上这个链接 link是标题对应的这个报错。

降级即卸载目前的,安装指定的低版本,如安装20.0.0

// 卸载
pip uninstall pyzmq
// 安装20.0.0
pip install pyzmq==20.0.0

这里安装版本时,版本要和你的python可对应,可以在清华镜像的轮子链接 link里看下是否对应,cp 后面的数字表示 python 的版本,如cp39 代表 python3.9。

不过这种方法对我没用,折腾了一遍又出现了这个问题,后来给他更新到最新的版本就不报错了。

3.UnicodeDecodeError

详细的报错信息如下:
Spyder打开闪退解决办法_第1张图片
说的是不能解码,多半是中文解码的问题,找到提到的这个报错的位置,在这条语句中添加’gbk’,参考链接 link

4.CryptographyDeprecationWarning: Blowfish has been deprecated

上面写的是这个类已经弃用,搜索了一下,网上说是 cryptography 版本过高的原因,大概是新版本有api的变化,则解决办法两种,1-链接: link,2-对transport.py中该类的定义注释链接: link

我用的第二种,直接注释掉了

5. RuntimeWarning: ZMQStream only supports the base zmq.Socket class.

我的实际报错如下
Spyder打开闪退解决办法_第2张图片
github上有关于这个小标题的问题,情况与我类似,但没有报最后await的错,大概看了下代码,出现await这个错是因为它还是ZMQERROR,是用来规避错误的一个措施。这个解决通过ZMQ降级完成,回答人推荐降级到24.0,降到了24.0.0,成功打开啦!

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