Ошибка Django / PIL - возникла исключительная ситуация при рендеринге: модуль _imagingft C не установлен - PullRequest
7 голосов
/ 19 марта 2010

Я пытаюсь запустить веб-приложение / сайт на моей машине, он работает на OSX 10.6.2, и у меня возникают некоторые проблемы:

Caught an exeption while rending: The _imagingft C module is not installed

Выполнение импорта _imagingft в python дает мне следующее:

>>> import _imagingft
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imagingft.so,
2): Symbol not found: _FT_Done_Face
 Referenced from: /Library/Python/2.6/site-packages/PIL/_imagingft.so
 Expected in: flat namespace
 in /Library/Python/2.6/site-packages/PIL/_imagingft.so

Кажется, у библиотеки Freetype есть проблемы.Пока нет ошибок при установке PIL или когда я скомпилировал (?) Библиотеки jpeg и freetype.

Я нахожусь на django 1.1.1, python 2.6.2.

Ответы [ 5 ]

9 голосов
/ 19 февраля 2011

Перед (пере) установкой PIL добавьте следующие системные ссылки для включения freetype на Mac 10.6 Snow Leopard:

ln -s /usr/X11/include/freetype2 /usr/local/include/
ln -s /usr/X11/include/ft2build.h /usr/local/include/
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib
3 голосов
/ 06 мая 2010

У меня тоже была эта проблема. Не удалось разрешить это ни с помощью PIL 1.1.6, ни с помощью PIL 1.1.7. Я установил py26-pil из портов и presto, все работает.

sudo port install py26-pil

Если у вас нет портов, перейдите на http://www.macports.org/

2 голосов
/ 28 мая 2010

Я нашел решение для этого.

Сначала вам нужно скачать Freetype2 http://freetype.sourceforge.net/index2.html и скомпилировать его с этими инструкциями http://www.libgd.org/DOC_INSTALL_OSX#Building_freetype2, затем вы идете и скомпилируйте libjpeg и PIL http://fightingrabbits.com/archives/266

И это все.

1 голос
/ 20 марта 2010

С такими ошибками обычно это происходит потому, что одна из зависимостей PIL не была скомпилирована как универсальный двоичный файл.

Попробуйте это:

  1. Скачать фреймворк для Freetype на этом сайте
  2. Загрузите пакет для libjpeg8 по адресу на этом сайте
  3. Удалите файлы, которые вы изначально установили для libjpeg и freetype
  4. Установить новые пакеты
  5. Удалить папку сборки для PIL
  6. Перестройте и установите PIL

Но если вы хотите сначала попытаться скомпилировать универсальный бинарный файл, будьте моим гостем. Моя конкретная проблема была связана с libjpeg, и независимо от того, как я ее скомпилировал, PIL вызывал import _imaging. Поэтому я выбрал упакованные версии. Я не думаю, что libjpeg или freetype особенно выигрывают от их компиляции.

Пакет libjpeg8 устанавливается в / usr / local / lib

пакет freetype устанавливается в вашу папку / Library / Frameworks.

0 голосов
/ 06 мая 2010

Среда не настроена правильно для сборки двоичных файлов OS X PIL \ libjpeg с помощью easy_install. Это руководство должно помочь http://fightingrabbits.com/archives/266 - оно предназначено для установки Python / Django, но сначала проходит необходимую настройку PIL и работает для меня на 10.6.x

...