При обновлении библиотеки изображений python (PIL) она сообщает мне, что «поддержка JPEG недоступна»

Используя ubuntu 13.10, python 2.7.5:

>>> import _imaging, Image >>> from PIL import Image, ImageDraw, ImageFilter, ImageFont >>> im = Image.new('RGB', (300,300), 'white') >>> draw = ImageDraw.Draw(im) >>> font = ImageFont.truetype('arial.ttf', 14) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 218, in truetype return FreeTypeFont(filename, size, index, encoding) File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 134, in __init__ self.font = core.getfont(file, size, index, encoding) File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFont.py", line 34, in __getattr__ raise ImportError("The _imagingft C module is not installed") **ImportError: The _imagingft C module is not installed** >>> 

Так почему это происходит? И как я могу это исправить? Я выполнил следующие инструкции, которые я нашел в нижней части этой темы :

 pip uninstall PIL apt-get install libjpeg-dev apt-get install libfreetype6-dev apt-get install zlib1g-dev apt-get install libpng12-dev pip install PIL --upgrade 

Но, обновляя PIL, посмотрите, что я увидел:

 -------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform linux2 2.7.5+ (default, Sep 19 2013, 13:48:49) [GCC 4.8.1] -------------------------------------------------------------------- *** TKINTER support not available *** JPEG support not available *** ZLIB (PNG/ZIP) support not available *** FREETYPE2 support not available *** LITTLECMS support not available -------------------------------------------------------------------- 

Нормально ли для поддержки всех этих предметов быть недоступными? как я могу это исправить?

  • Использование Python PIL для превращения RGB-изображения в чистое черно-белое изображение
  • Как установить PIL на Mac OSX 10.5.8 для Google App Engine?
  • Преобразование изображения из PIL в формат openCV
  • Написание текста с диакритическим («nikud», отметки вокализации) с использованием PIL (Python Imaging Library)
  • Python / PIL Изменение размера всех изображений в папке
  • Скриншот активного окна с Python PIL и API окон: как бороться с закругленными углами?
  • Обрезка / клип полигона с использованием Python / PIL
  • Прозрачный PNG в PIL оказывается не прозрачным
  • 2 Solutions collect form web for “При обновлении библиотеки изображений python (PIL) она сообщает мне, что «поддержка JPEG недоступна»”

    PIL по существу мертв, Pillow вилки – это то, что вы должны использовать. Вам нужно импортировать его через

     from PIL import Image, ... 

    Он поддерживает все функции PIL и добавляет намного больше, включая совместимость с Python 3. Кроме того, он находится в активной разработке, в отличие от PIL , поэтому любые ошибки, которые вы обнаружите, действительно имеют шанс получить исправление – то же самое с запросами на функции.

    Вы можете установить его (после удаления PIL ), выполнив

     pip install Pillow 

    Я считаю, что есть пакет для Ubuntu, но моя виртуальная машина дает мне головные боли в данный момент, и я не могу проверить …

    Согласно этому вопросу в AskUbuntu :

    Оказывается, установки APT помещают библиотеки под / usr / lib / x86_64-linux-gnu, а PIL будет искать их в / usr / lib /. Поэтому вам нужно создать символические ссылки для PIL, чтобы увидеть их.

    Другими словами, PIL, по-видимому, не понимает современный Ubuntu, или фактически большинство 64-битных linux.


    Что вы, вероятно, хотите сделать, это:

    • Переключайтесь на подушку, как говорит MattDMo,
    • Используйте пакет Ubuntu для PIL ( python-imaging ) вместо того, чтобы пытаться установить через pip , или
    • Сделайте оба варианта – используйте пакет Ubuntu для подушки, если таковой имеется.

    Проверка на package.ubuntu.com , пакет python-imaging представляет собой Pillow 2.0.0 на Saucy (13.10). На самом деле, это Подушка на чем-то Рэбинге или позже; это только люди, все еще использующие версии 12.x или более ранних версий, которые застревают с PIL . Итак, если вы просто сделаете это:

     $ sudo pip uninstall PIL $ sudo apt-get install python-imaging 

    …, который доставит вам подушку и затянет любые зависимости, в которых она нуждается, всего за один шаг.


    Если вы не хотите выполнять какие-либо из этих действий, сначала вы должны пересмотреть это решение, потому что это, вероятно, ошибка, а затем посмотрите на обходные пути, предложенные в этом ответе. В частности, символическая ссылка libs, которую вы установили в каталог / usr / lib, вероятно, то, что вам нужно. Так, например:

     $ sudo pip uninstall PIL $ sudo apt-get install libjpeg-dev $ sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so $ # repeat for the various other libraries, but JPEG is the one you asked about $ sudo pip install PIL 

    Кроме того, вы можете исправить сам PIL, так как некоторые ответы на связанный вопрос показывают. В частности, добавьте эти две строки:

     add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu") add_directory(library_dirs, "/lib/x86_64-linux-gnu") 

    … после строк, которые добавляют /usr/local/lib и /usr/lib .

    Однако, если вы собираетесь использовать исправленный PIL, почему бы не использовать Pillow, который уже решил эту проблему и многие другие?

    Interesting Posts

    Как получить имя приложения, используя python в django

    Как центрировать окно tkinter и сохранить поведение «подходит для детей»?

    нахождение набора диапазонов, число которых падает

    Как остановить процесс работы сельдерея

    python: сериализовать словарь в простой вывод html

    Заменить все вхождения определенных слов

    Две соответствующие оси y

    Как получить результаты тестирования по тестированию в Eclipse + Pydev?

    Слияние файлов SQLite в один файл db и вопрос «начало / фиксация»

    Расширение сокращений английского языка в Python

    Python: «неожиданный отступ», но отступы кажутся правильными и последовательными

    Предотвращение растягивания ярлыков tkinter длинной строкой

    Смутно о создании CSV-файла в ZIP-файл в django

    easy_install терпит неудачу при ошибке «Не удалось найти скрипт установки» после бинарной загрузки?

    Python Script для преобразования изображения в массив байтов

    Python - лучший язык программирования в мире.