3

我正在尝试针对 cygwin 或 mingw 构建 PIL 1.1.6,同时针对 Windows 安装的 python 运行。当我执行任一构建工作时,但在尝试保存文件时出现以下失败。

$蟒蛇25
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on
win32
输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
>>> 从 PIL.Image 导入打开
>>> im = open('test.gif')
>>> im.save('output1.gif')
回溯(最近一次通话最后):
  文件“”,第 1 行,在
  文件“c:\Python25\Lib\site-packages\PIL\Image.py”,第 1405 行,保存
    save_handler(self, fp, 文件名)
  _save 中的文件“c:\Python25\Lib\site-packages\PIL\GifImagePlugin.py”,第 291 行

    ImageFile._save(imOut, fp, [("gif", (0,0)+im.size, 0, rawmode)])
  _save 中的文件“c:\Python25\Lib\site-packages\PIL\ImageFile.py”,第 491 行
    s = e.encode_to_file(fh, bufsize)
IOError:[Errno 0] 错误
>>>

我没有使用支持 jpeg 或 zip 的库进行编译,但我认为这在这里不应该相关。

失败的行似乎是在 encode.c 中的 encode_to_file 中写入。

我怀疑发生这种情况是因为文件描述符正在从 Python(在 Visual Studio 2003 下构建)传递到 _imaging.pyd 但文件描述符不匹配,因为在 Windows 上,文件描述符是和抽象之上的操作系统。有人对这个有了解吗?

4

1 回答 1

1

据我从一些粗略的谷歌搜索中可以看出,您需要在构建 PIL 之后重新设置 DLL 以便它在 Cygwin 上正常工作。

参考:

于 2009-01-23T02:29:23.590 回答