0

我正在尝试使用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。我试图重新安装软件包,但没有帮助。我仍然得到同样的错误。我的一个朋友也在他的电脑上重现了这个错误。

4

1 回答 1

1

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

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

  2. 而不是 PIL Image,现在我使用imread(image),它将图像加载到一个 numpy 数组中。

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

于 2013-08-21T00:44:33.280 回答