module ‘scipy.misc’ has no attribute ‘imsave’
我们可以看到报错的原因是在scipy.misc中找不到属性‘imsave’
接下来我们拓展一下错误在遇到相同错误时可同样解决:
当我们遇到相同报错如 imsave,imread,imwrite等属性或者关于其他包的其他属性找不到时,我们可以分析一下产生错误的原因是什么?
- 我们在安装每一个包时会发现默认安装当前最新版本,但是当我们在设置里打开python interpreter时会发现每个库都有很多版本,随着时间的改变可能某一些属性会被丢弃或修改属性名。
- 还有一种可能就是我们没有引入(import)某个属性,或者在输入属性时,没有写全属性路径,或未安装某个属性。
解决方法:
首先我们看一下其他帖子的解决方式:
- 需要安装 pillow 用pip list 查看,发现这个包已经存在了,然后我把这个包卸载了,用pip install pillow 安装上依然没有用 还是报错
- 需要安装moviepy使用pip install moviepy 安装好包以后 ,依然没有用 还是报错
- scipy 1.3.0版本的不行,需要安装1.2.0 ,卸载1.3.0版本的以后,重新安装了1.2.0版本的。
我们可以看出或许可以解决问题,但是并不符合我们的需求,在从python2-python3版本迭代中,更新了很多东西。
我们如今大多使用python3,兼容新版本库,但是如果是一些以前的代码使用python2完成的代码,则库中的一些属性在python3中是不存在或者改变的。
我的方式:
- 我们在遇到属性找不到的这种错误时,先检查是否安装本库,如果安装,则看相关属性是否需要引入;如果都检查过后,则可能就是版本冲突问题,我们只需要换一种方式而实现同样的功能;
如:
引入scipy.misc,输出所含属性
我们可以看到没有我们所需要的属性
所以我们换一种实现方法:(不知道还有什么实现方法可以晚上搜,相信大家都会吧!)
使用imageio模块代替scipy.misc 模块
将两者属性输出,查看:
我们会发现imageio这个强大的库有我们所需要的功能
问题成功解决!!!
所以解决方法很简单,这个问题也告诉大家,遇到问题不要怕,找不同的解决方式,总有一种是可以满足我们需求的!