Spyder5老是闪退报错 “Blowfish has been deprecated “的解决方法

文章讲述了作者在使用Anaconda3和Spyder5学习Python时遇到的闪退问题,原因在于新版本Spyder5弃用了Blowfish。解决方法包括升级paramiko库、降级库版本以及注释掉相关代码并重装pyzmq。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

本人在学习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版本之间不兼容导致的,然而在不断重装和试错后发现不是这一回事。

我的运行环境

  1. Anaconda3-2023.07-2-Windows-x86_64
  2. Python311
  3. 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了!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值