Форум сайта python.su
Помогите плиз. Написал приложение, на домашнем сервере (CenOS 6.3) работает, а вот на хостинге после переноса туда не хочет. Методом проб и ошибок нашел, что дело в библиотеке PIL (1.1.7), версия питона на хостинге 2.7.3. Чтобы разобраться, загружал питон в ssh и выполнял команды пошагово. В итоге не хочет записывать изображение в файл и читать из файла, как только дело доходит до чтения/записи, выдаёт такую ошибку:
IOError: encoder zip not availableВместо файла пробовал использовать и StringIO, в итоге то же самое.

import PIL import qrcode import StringIO #...... qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data('Some data') qr.make(fit=True) img = qr.make_image() failo = StringIO.StringIO() img.save(failo,"PNG")
>>> img.save(failo,“PNG”)
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “/home/username/python/lib/python2.7/site-packages/qrcode/image/pil.py”, line 34, in save
self._img.save(stream, kind)
File “/home/username/python/lib/python2.7/site-packages/PIL/Image.py”, line 1439, in save
save_handler(self, fp, filename)
File “/home/username/python/lib/python2.7/site-packages/PIL/PngImagePlugin.py”, line 572, in _save
ImageFile._save(im, _idat(fp, chunk), )
File “/home/username/python/lib/python2.7/site-packages/PIL/ImageFile.py”, line 481, in _save
e = Image._getencoder(im.mode, e, a, im.encoderconfig)
File “/home/username/python/lib/python2.7/site-packages/PIL/Image.py”, line 401, in _getencoder
raise IOError(“encoder %s not available” % encoder_name)
IOError: encoder zip not available
Отредактировано digi (Сен. 22, 2012 22:39:43)
Офлайн
Что интересно, в формате GIF изображение сохраняет. Сейчас запустил самотест PIL из той папки, из которой устанавливал пакет
python selftest.pyвот что выдало
-------------------------------------------------------------------- PIL 1.1.7 TEST SUMMARY -------------------------------------------------------------------- Python modules loaded from ./PIL Binary modules loaded from /home/username/python/lib/python2.7/site-packages/PIL -------------------------------------------------------------------- *** PIL CORE support not installed *** TKINTER support not installed *** JPEG support not installed *** ZLIB (PNG/ZIP) support not installed *** FREETYPE2 support not installed *** LITTLECMS support not installed -------------------------------------------------------------------- Running selftest: ***************************************************************** Failure in example: try: _info(Image.open(os.path.join(ROOT, "Images/lena.jpg"))) except IOError, v: print v from line #24 of selftest.testimage Expected: ('JPEG', 'RGB', (128, 128)) Got: decoder jpeg not available 1 items had failures: 1 of 57 in selftest.testimage ***Test Failed*** 1 failures. *** 1 tests of 57 failed.
Офлайн
857
digi*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
Офлайн
py.user.next, вот только не пойму, почему у меня в таком случае импорт модуля zlib выполняется беспроблемно?
import zlib
Офлайн
Всё-таки не понятно, ну ладно там zlib, а как же так PIL CORE не установлен? PIL в питоне импортируется, картинки рисует…
Офлайн
0
digiсори за некропост, но выход найден?
Всё-таки не понятно, ну ладно там zlib, а как же так PIL CORE не установлен? PIL в питоне импортируется, картинки рисует…
Офлайн