Ошибка Django/PIL - Пойманный исключение при рендеринге: _imagingft C модуль не установлен

Я пытаюсь выполнить веб-приложение/сайт на своей машине, это работает на 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.

7
задан kenok 19 March 2010 в 16:46
поделиться

4 ответа

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

sudo port install py26-pil

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

3
ответ дан 6 December 2019 в 14:03
поделиться

При подобных ошибках обычно одна из зависимостей 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.

1
ответ дан 6 December 2019 в 14:03
поделиться

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

0
ответ дан 6 December 2019 в 14:03
поделиться

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

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

И все.

2
ответ дан 6 December 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: