目录
一、前言
本人在学习python时图省事选择直接安装Anaconda3,用spyder5来进行学习,可是比较蛋疼的是安装完成后spyder5老是闪退无法打开,然后报错如下代码:
C:\Users\xxx\anaconda3\lib\site-packages\paramiko\transport.py:219: CryptographyDeprecationWarning: Blowfish has been deprecated "class": algorithms.Blowfish
一开始我以为是我的python版本和Anaconda3版本之间不兼容导致的,然而在不断重装和试错后发现不是这一回事。
我的运行环境
- Anaconda3-2023.07-2-Windows-x86_64
- Python311
- Win11
二、解读报错
spyder5报的这个错主要是因为新版本的spyder5舍弃了Blowfish这个函数而导致程序启动时扫描到这个函数时报错闪退
三、解决方法
1.网上说的最多的方法。
说是自带的paramiko版本落后更新到最新版本或者就是降级到符合你spyder5版本的库,楼主两种方法都试过了还是无法解决这个问题(还是可以尝试一下的要是更新后能直接使用就别使用后续的步骤了),这里就不放具体步骤了,就是个更新库跟降级库的操作,网上一搜一堆
2. 第二个方法(实测可用)。
就是根据你们报错的C:\Users\xxx\anaconda3\lib\site-packages\paramiko\transport.py:219
这个地址,去电脑对应的盘找到对应的文件,如下图
然后用你喜欢的编辑器打开这个文件,找到第219行,找到这个Blowfish的函数,给他注释掉,但是这里一定要注意一个问题!别真的就傻傻的就注释掉219这一行,要像我下面的截图这样把整个BlowFish-cbc函数都注释掉!!!
保存文件后你再打开spyder5会发现还是打不开,还会跳一个报错:
Bad file descriptor (C:\xxx\zeromq_1616055400030\work\src\epoll.cpp:100)
这个报错就很简单就是重装pyzmq
就行:
-
首先,打开 anaconda powershell prompt
-
然后输入
pip uninstall pyzmq
先卸载现有的pyzmq
系统会问你(Y/n) yes or no, 输入 Y.
-
卸载成功后再输入
pip install pyzmq
重新安装 pyzmq
四、打开spyder5
然后就可以快乐的打开spyder5了!