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



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



>>> import _imaging
>>> _imaging.__file__
'C:python26libsite-packagesPIL_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:Python26Libsite-packagesPILImageFont.py", line 34, in __getattr__
raise ImportError("The _imagingft C module is not installed")
898   14  

14 ответов:

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

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

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

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

т. е.

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

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

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

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

sudo apt-get install libfreetype6-dev

затем, в virtualenv:

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

решение для CentOS 6 (и, вероятно, на основе других оборотов в минуту):

yum install freetype-devel libjpeg-devel libpng-devel

pip uninstall pil Pillow
pip install pil Pillow

в 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

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

Если вы используете доморощенного на OS X это просто вопрос:

brew remove pil
brew install freetype
brew install pil

работал на Ubuntu 12.10:

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

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

для меня ни одно из решений, опубликованных здесь до сих пор работал. Я нашел другое решение здесь: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

следующие работы на 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!!
Мой питон путь пропустил '/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/

потом, наконец, это работает!!

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

libfreetype.6.dylib libfreetype.один libfreetype.dylib нужна

но обычно:

pip install pil

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

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

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

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

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

Ubuntu 11.10 устанавливает библиотеки zlib и freetype2, следуя спецификации multi-arch (например,/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

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

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

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

Comments

    Ничего не найдено.