2013-12-13 12 views
5

Ich arbeite mit images2gif und bekomme diesen Fehler. Irgendwelche Ideen?UnicodeDecodeError: 'Ascii' Codec kann Byte 0x87 in Position 10 nicht decodieren: Ordnungszahl nicht im Bereich (128)

UnicodeDecodeError: 'ascii' codec can't decode byte 0x87 in position 10: ordinal not in range(128)

Testdatei:

from PIL import Image 
from images2gif import writeGif 

FRAMES = 2 
FRAME_DELAY = 0.75 
WIDTH, HEIGHT = 600, 600 

frames = [] 
img1 = Image.open('1.jpg') 
img2 = Image.open('2.jpg') 
frames.append(img1) 
frames.append(img2) 

writeGif("test.gif", frames, duration=FRAME_DELAY, dither=0) 

Traceback:

Traceback (most recent call last): 
    File "gif.py", line 15, in <module> 
    writeGif("topmovie.gif", frames, duration=FRAME_DELAY, dither=0) 
    File "/Users/Craig/Documents/github/RTB/images2gif.py", line 575, in writeGif 
    gifWriter.writeGifToFile(fp, images, duration, loops, xy, dispose) 
    File "/Users/Craig/Documents/github/RTB/images2gif.py", line 435, in writeGifToFile 
    fp.write(header.encode('utf-8')) 

images2gif Linie 435: fp.write(header.encode('utf-8'))

Aktualisiert Zurückverfolgungs:

Traceback (most recent call last): 
    File "gif.py", line 16, in <module> 
    writeGif("test.gif", frames, duration=FRAME_DELAY, dither=0) 
    File "/Users/Craig/Documents/github/RTB/images2gif.py", line 579, in writeGif 
    gifWriter.writeGifToFile(fp, images, duration, loops, xy, dispose) 
    File "/Users/Craig/Documents/github/RTB/images2gif.py", line 440, in writeGifToFile 
    fp.write(globalPalette) 
TypeError: must be string or buffer, not None 
+1

Welche python-Version sind Sie? – aIKid

+0

Welche Version von images2gif verwenden Sie? Ich kann diese Zeile in der letzten Version nicht sehen – PasteBT

+1

diese Version hat keine Codierung in und scheint mir sinnvoller https://github.com/luopio/bag-of-tricks/blob/master/python/images2gif.py; kann nicht erraten, warum man eine Zeichenfolge codieren kann; Code von image2gif sehe nicht wie py3 freundlich aus, also denke ich, dass es für py2 geschrieben wurde – alko

Antwort

2

Ihre aktualisiertem Frage ist auch hier: Error in images2gif.py with GlobalPalette

es ein Problem verweist auf images2gif, in dem der Autor sagt, sie gehen das Modul neu zu schreiben, um nicht PIL/Kissen zu verwenden, aber sind damit beschäftigt: https://code.google.com/p/visvis/issues/detail?id=81

das wiederum eine gepatchte images2gif verweist, um das Problem zu beheben, in Anspruch genommen wird: https://github.com/rec/echomesh/blob/master/code/python/external/images2gif.py