我正在尝试针对cygwin或mingw构建PIL 1.1.6,同时针对Windows安装的python运行。当我做任何一个构建工作,但我在尝试保存文件时遇到以下失败。
$ python25 Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from PIL.Image import open >>> im = open('test.gif') >>> im.save('output1.gif') Traceback (most recent call last): File "", line 1, in File "c:\Python25\Lib\site-packages\PIL\Image.py", line 1405, in save save_handler(self, fp, filename) File "c:\Python25\Lib\site-packages\PIL\GifImagePlugin.py", line 291, in _save ImageFile._save(imOut, fp, [("gif", (0,0)+im.size, 0, rawmode)]) File "c:\Python25\Lib\site-packages\PIL\ImageFile.py", line 491, in _save s = e.encode_to_file(fh, bufsize) IOError: [Errno 0] Error >>>
我没有使用jpeg或zip支持的库进行编译,但我认为这不应该与此相关。
失败的行似乎是在encode.c中的encode_to_file中写入。
我怀疑这是因为文件描述符从Python(在visual studio 2003下构建)传递到_imaging.pyd,但是文件描述符不匹配,因为在Windows文件描述符上是抽象的操作系统的顶部。有谁知道这个?
答案 0 :(得分:1)
据我粗略的谷歌搜索,你需要在构建PIL后重新绑定DLL,以便它在Cygwin上正常工作。
参考文献: