Я пытаюсь собрать PIL 1.1.6 против cygwin или mingw, пока запускается установка 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_to_file в encode.c.
Я подозреваю, что это происходит из-за того, что дескриптор файла передается из Python (который был собран под Visual Studio 2003) в _imaging.pyd, но дескрипторы файлов не совпадают, потому что в Windows дескрипторы файлов и абстракция на верх операционной системы. Кто-нибудь знает что-нибудь об этом?