使用images2gif.py创建GIF时出错

时间:2013-08-20 01:03:32

标签: python image python-imaging-library gif

我正在尝试使用visvis包中的images2fig.py创建GIF文件

使用这个非常简单的代码:

import glob
from PIL import Image
from visvis.vvmovie.images2gif import writeGif

images = [Image.open(image) for image in glob.glob("*.png")]
filename = "test.gif"
writeGif(filename, images, duration=0.2)

我收到了错误

  File "C:\Python27\lib\site-packages\visvis\vvmovie\images2gif.py", line 575, in writeGif
    gifWriter.writeGifToFile(fp, images, duration, loops, xy, dispose)

  File "C:\Python27\lib\site-packages\visvis\vvmovie\images2gif.py", line 436, in writeGifToFile
    fp.write(globalPalette)

TypeError: must be string or buffer, not list

我该如何解决这个问题?

我使用的是Python 2.7.5,Pillow 2.1.0,numpy 1.7.1-2,所有这些都是Windows上的Python(x,y)2.7.5的标准安装,以及最新版本的visvis 1.8。我试图重新安装包,但它没有帮助。我仍然得到同样的错误。我的一个朋友也在他的电脑上复制了这个错误。

1 个答案:

答案 0 :(得分:1)

@korylprince我通过以下两个更改解决了问题:

  1. 我卸载了Python(x,y),然后安装了Anaconda(32位) 通过点子安装visvis。

  2. 现在我使用加载图片的imread(image)代替PIL图像 成为一个numpy数组。

  3. 在另一台计算机上,我没有卸载Python(x,y),而是卸载了Pillow 2.1.0并安装了PIL 1.1.7,并且还替换了与上面步骤2相同的代码。以这种方式,它使用Python(x,y)。所以问题是Pillow 2.1.0