我正在尝试针对 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 上,文件描述符是和抽象之上的操作系统。有人对这个有了解吗?