Ошибка при установке matplotlib - PullRequest
36 голосов
/ 02 декабря 2011

Я пытался использовать pip install matplotlib и git clone, а затем python setup.py install, как описано в faq для Mac OS 10.7. Но я получаю ту же ошибку:

[...]
llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I. -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/ft2font.cpp -o build/temp.macosx-10.7-intel-2.7/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
In file included from src/ft2font.cpp:3:
src/ft2font.h:16:22: error: ft2build.h: No such file or directory
src/ft2font.h:17:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:18:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:19:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:20:10: error: #include expects "FILENAME" or <FILENAME>
src/ft2font.h:21:10: error: #include expects "FILENAME" or <FILENAME>
In file included from src/ft2font.cpp:3:
src/ft2font.h:34: error: ‘FT_Bitmap’ has not been declared
src/ft2font.h:34: error: ‘FT_Int’ has not been declared
src/ft2font.h:34: error: ‘FT_Int’ has not been declared
src/ft2font.h:86: error: expected ‘,’ or ‘...’ before ‘&’ token
[...]

Кажется, мне не хватает установленного пакета в моей системе? Или есть какой-нибудь другой лучший способ установить matplotlib?

Спасибо!

ОБНОВЛЕНИЕ: при поиске и поиске на SO я обнаружил, что мне может не хватить пакета freetype2, однако, если я попытаюсь установить его с помощью homebrew, я получу предупреждение:

[me @ my mac]$ brew search freetype
Apple distributes freetype with OS X, you can find it in /usr/X11/lib.
However not all build scripts look here, so you may need to call ENV.x11
in your formula's install function.

Ответы [ 3 ]

80 голосов
/ 10 декабря 2012

У меня была эта проблема на сервере Ubuntu 12.04.

Мне пришлось установить libfreetype6-dev и libpng-dev из репозиториев. Когда я столкнулся с этой проблемой, я использовал virtualenv и устанавливал matplotlib с помощью pip.

Подсказки, которые мне нужно было сделать, были получены из предупреждающих сообщений, появляющихся в начале установки matplotlib, поэтому следите за сообщениями, которые указывают на наличие зависимости, но не на заголовки.

13 голосов
/ 15 декабря 2011

Та же ошибка, установка работала на одной из моих машин Lion, но не на другой. Отследил до отсутствующего pkg-config

$ brew install pkg-config
$ pip install -U 'http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/matplotlib-1.1.0.tar.gz/download'

(см. Также https://jholewinski.org/blog/installing-matplotlib-on-os-x-10-7-with-homebrew/)

2 голосов
/ 21 июня 2012

Спасибо за ссылку выше.Я смог заставить работать matplotlib с некоторыми незначительными изменениями.Я документирую конкретное сообщение об ошибке, с которым столкнулся, для дальнейшего использования.

Конверт: Mac OS X 10.7.4 (Lion), работающий под управлением Python 2.7.1 (находится в / usr / bin)

Я начал пытаться заставить matplotlib работать против установки по умолчанию.setup.py намекнул на некоторые проблемы, а именно:

freetype2: found, but unknown version (no pkg-config)
                        * WARNING: Could not find 'freetype2' headers in any
                        * of '.', './freetype2'.

и

OPTIONAL BACKEND DEPENDENCIES
                libpng: found, but unknown version (no pkg-config)
                        * Could not find 'libpng' headers in any of '.'

шаг установки завершится неудачно со следующим сообщением об ошибке:

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/numpy/__multiarray_api.h:1187: warning: ‘int _import_array()’ defined but not used
lipo: can't open input file: /var/tmp//ccG28dDI.out (No such file or directory)

Поиск в Google дляэтот файл не помог ни с чем.Я немного покопался и решил, что идти по пути virtualenv не стоило моего времени.

Я закончил тем, что выполнил шаги, описанные в ссылке jholewinski выше.Установил новый python 2.7.4 в / usr / local / и следовал там инструкциям.(Я переустановил pkg-config).Мне удалось получить последнюю версию matplotlib из git, и она работала просто отлично.

На этот раз присутствовали библиотеки libpng (1.5.4) и freetype2 (13.2.7).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...