我的scipy.misc模块似乎缺少imsave函数。

38

我打开Python3解释器并键入:

import scipy.misc
scipy.misc.imsave

结果是

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'imsave'

名称改变了吗?在Python2中它运行良好,但我不想倒退迁移。

我在Lubuntu 13.04上安装了Python 3.3.1,并从默认存储库下载了所有模块。Scipy已安装,print(scipy.misc.__doc__)显示应该有imsave

编辑:

scipy.__version__显示0.11.0

from scipy.misc import imsave会给出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name imsave

scipy.__version__是什么?from scipy.misc import imsave是做什么的?如果你将scipt.misc.imsave改为scipy.misc.imsave会发生什么? - askewchan
1
我已经添加了结果并修正了拼写错误。 - Cramer
1
scipy.misc.imsave来自于pilutils,它依赖于PIL。您是否已经安装了PIL?如果是的话,升级scipy可能是值得的,因为现在已经更新到了0.13.0版本。即使升级不是必须的,重新安装也许是有必要的。 - askewchan
较新的重复问题/答案,但有参考资料:https://dev59.com/HbXna4cB1Zd3GeqPJ2LM#57253092 - michael
5个回答

61

scipy.misc.imsave在较新的Scipy版本中已被弃用。

请更改您的代码为:

import imageio
imageio.imwrite('filename.jpg', array)

16

或者安装pillow来安装新的PIL实现。这在Python 3.4中效果很好。


Pillow 需要一些库,如果你不能安装操作系统包,它不一定会正常工作。(--user) - Fábio Dias
4
我在Windows 10上使用Python 3.7(虚拟环境中)通过pip安装了Pillow且没有出现错误。但我仍然遇到了“'scipy.misc' has no attribute 'imsave'”的问题。 - cowlinator

5

我遇到了同样的问题,这个问题的答案没有帮助我解决。我通过安装scipy的早期版本来解决它:

pip3 install scipy==0.17.0

1
无法工作。'Failed to build wheel for scipy.' - Sachin

5
尝试安装Ubuntu软件包 python3-imaging。该软件包提供PIL(Python Imaging Library)。PIL是imsave(以及scipy.misc中的其他 im * 函数)所必需的。

谢谢,看到askewchan的评论后,我试图找一个可以与python3愉快工作的软件包,但还没有时间进行适当的搜索。 - Cramer
包不存在了? - BlueMoon93
尝试使用包python-pil - Warren Weckesser

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接