Подтвердить что ты не робот

Python: модуль _imagingft C не установлен

Я пробовал много решений, размещенных в сети, они не работают.

>>> import _imaging
>>> _imaging.__file__
'C:\\python26\\lib\\site-packages\\PIL\\_imaging.pyd'
>>>

Таким образом, система может найти _imaging, но по-прежнему не может использовать шрифт truetype

from PIL import Image, ImageDraw, ImageFilter, ImageFont


im = Image.new('RGB', (300,300), 'white')
draw = ImageDraw.Draw(im)
font = ImageFont.truetype('arial.ttf', 14)
draw.text((100,100), 'test text', font = font)

Вызывает эту ошибку:

ImportError: The _imagingft C module is not installed

File "D:\Python26\Lib\site-packages\PIL\ImageFont.py", line 34, in __getattr__
  raise ImportError("The _imagingft C module is not installed")
4b9b3361

Ответ 1

Установленный PIL был скомпилирован без libfreetype.

Здесь вы можете получить предварительно скомпилированный установщик PIL (скомпилированный с помощью libfreetype) (и многие другие предварительно скомпилированные модули Python C):

http://www.lfd.uci.edu/~gohlke/pythonlibs/

Ответ 2

В Ubuntu вам необходимо установить libfreetype-dev перед компиляцией PIL.

то есть.

$ sudo apt-get install libfreetype6-dev
$ sudo -s
\# pip uninstall pil
\# pip install pil

PS! Запуск pip install как sudo обычно устанавливает пакеты в /usr/local/lib на большинстве версий Ubuntu. Вы можете рассмотреть возможность установки Pil в виртуальной среде (virtualenv или venv) на пути, принадлежащем пользователю.

Вы также можете рассмотреть возможность установки подушки вместо пилота, который, я считаю, совместим с API: https://python-pillow.org.

Ответ 3

Следующее работало для меня на Ubuntu 14.04.1 64 бит:

sudo apt-get install libfreetype6-dev

Затем в virtualenv:

pip uninstall pillow
pip install --no-cache-dir pillow

Ответ 4

для CentOS 6 (и, возможно, других основанных на rpm):

yum install freetype-devel libjpeg-devel libpng-devel

pip uninstall pil Pillow
pip install pil Pillow

Ответ 5

В OS X я сделал это, чтобы решить проблему:

pip uninstall PIL
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
pip install PIL

Ответ 6

В принципе, вам необходимо установить freetype перед установкой PIL.

Если вы используете Homebrew для OS X, это просто вопрос:

brew remove pil
brew install freetype
brew install pil

Ответ 7

Работает на Ubuntu 12.10:

sudo pip uninstall PIL
sudo apt-get install libfreetype6-dev
sudo apt-get install python-imaging

Ответ 8

Для OS X (я запускаю 10.6, но должен работать для других) я смог обойти эту ошибку, используя совет этого сообщения. В основном вам нужно установить пару зависимостей, а затем переустановить PIL.

Ответ 9

Следование работает над ubuntu 12.04:

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

когда вы видите "поддержка JPEG", что означает, что он работает.

Но если он все еще не работает, когда вы редактируете свое jpeg-изображение, проверьте путь python!
Мой путь к python пропустил '/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/', поэтому я редактирую ~/.bashrc добавить следующий код в этот файл:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/

тогда, наконец, он работает!!

Ответ 10

Для меня ни одно из решений, размещенных здесь до сих пор, не сработало. Я нашел другое решение здесь: http://codeinthehole.com/writing/how-to-install-pil-on-64-bit-ubuntu-1204/

Сначала установите пакеты dev:

$ sudo apt-get install python-dev libjpeg-dev libfreetype6-dev zlib1g-dev

Затем создайте символические ссылки:

$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/

Впоследствии PIL должен скомпилировать только штраф:

$ pip install PIL --upgrade

Ответ 11

Я использовал homebrew для установки freetype, и у меня есть следующее в /usr/local/lib:

libfreetype.6.dylib libfreetype.a libfreetype.dylib

Но обычный:

pip install pil

Не работает для меня, поэтому я использовал:

pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz

Ответ 12

В моем Mac работают следующие шаги в терминале:

$ brew install freetype
$ sudo pip uninstall pil
$ sudo pip install pillow

надеется, что это сработает для вас. Удачи!

Ответ 13

Ubuntu 11.10 устанавливает библиотеки zlib и freetype2 в соответствии с многоуровневой спецификацией (например, /usr/lib/i386-linux-gnu). Вы можете использовать переменные среды настройки PIL, чтобы они могли их найти. Однако он работает только с версиями PIL за тегом pil-117.

export PIL_SETUP_ZLIB_ROOT=/usr/lib/i386-linux-gnu
export PIL_SETUP_FREETYPE_ROOT=/usr/lib/i386-linux-gnu
pip install -U PIL

Поскольку ваш многоадресный путь может быть другим (x86-64), рекомендуется установить пакеты -dev и использовать pkg-config для получения правильного пути.

pkg-config --variable=libdir zlib
pkg-config --variable=libdir freetype2

Другой способ, данный Barry on Pillow setup.py, заключается в использовании dpkg-architecture -qDEB_HOST_MULTIARCH для получения суффикса соответствующего каталога библиотеки.

См. https://bitbucket.org/effbot/pil-2009-raclette/issue/18

Ответ 14

【】 решена
В моем ubuntu12.04, после того, как я установил python-визуализацию с помощью apt-get, он работает.