Не удается установить библиотек matplotlib на Mac ОС Х

Я пытаюсь установить библиотек matplotlib для построения приложений на Python на Маке. когда я запускаю "Python в setup.py установить", это дает мне эта нагрузка ошибок: http://pastebin.com/u7fL37ic.

быстрый фрагмент:

src/ft2font.cpp:2170: error: ‘FT_LOAD_TARGET_MONO’ was not declared in this scope
src/ft2font.cpp:2171: error: ‘FT_LOAD_TARGET_LCD’ was not declared in this scope
src/ft2font.cpp:2172: error: ‘FT_LOAD_TARGET_LCD_V’ was not declared in this scope
src/ft2font.cpp:2175: error: ‘_ft2Library’ was not declared in this scope
src/ft2font.cpp:2175: error: ‘FT_Init_FreeType’ was not declared in this scope
src/ft2font.cpp: In destructor ‘virtual ft2font_module::~ft2font_module()’:
src/ft2font.cpp:2186: error: ‘_ft2Library’ was not declared in this scope
src/ft2font.cpp:2186: error: ‘FT_Done_FreeType’ was not declared in this scope
lipo: can't figure out the architecture type of: /var/folders/Nj/Njnlp9qSF64sMESWcaDnk++++TI/-Tmp-//cchyYmM5.out
error: command 'gcc-4.0' failed with exit status 1

Я установил freetype с помощью MacPorts, и я думал, что это исправит проблему, но не повезло. Дает мне ту же ошибку, что и раньше. Похоже, он не может найти правильные файлы freetype:

BUILDING MATPLOTLIB
        matplotlib: 1.0.0
            python: 2.6.5 (r265:79359, Mar 24 2010, 01:32:55)  [GCC
                    4.0.1 (Apple Inc. build 5493)]
          platform: darwin
REQUIRED DEPENDENCIES
             numpy: 1.5.0
         freetype2: found, but unknown version (no pkg-config)
                    * WARNING: Could not find 'freetype2' headers in any
                    * of '.', './freetype2'.

куда я должен положить файлы freetype, чтобы их можно было найти? Прямо сейчас они находятся в /opt/local / lib

какие идеи?

8 ответов


вы также можете рассмотреть возможность использования дистрибутива Enthought (который поставляется даже бесплатно для некоммерческого использования) Он поставляется полностью установлен без каких-либо затруднений http://www.enthought.com/products/getepd.php (У меня нет никаких отношений с Enthought вообще - я просто довольный пользователь)


корень проблемы заключается в том, что freetype и libpng устанавливаются в неканонических местоположениях XCode, в /usr/X11 вместо /usr или /usr/local.

все ответы, которые уже даны, решают проблему путем восстановления freetype и libpng вручную или с помощью диспетчера пакетов, такого как homebrew.

вы можете, однако, получить matplotlib для компиляции, просто связав существующие заголовки и библиотеки freetype/libpng в дерево / usr / local с:

sudo mkdir -p /usr/local/include
sudo ln -s /usr/X11/include/freetype2/freetype /usr/local/include/freetype
sudo ln -s /usr/X11/include/ft2build.h /usr/local/include/ft2build.h
sudo ln -s /usr/X11/include/png.h /usr/local/include/png.h
sudo ln -s /usr/X11/include/pngconf.h /usr/local/include/pngconf.h
sudo ln -s /usr/X11/include/pnglibconf.h /usr/local/include/pnglibconf.h
sudo mkdir -p /usr/local/lib
sudo ln -s /usr/X11/lib/libfreetype.dylib /usr/local/lib/libfreetype.dylib
sudo ln -s /usr/X11/lib/libpng.dylib /usr/local/lib/libpng.dylib

Я предпочитаю создавать пакеты python с pip, поэтому я бы использовал:

sudo pip install matplotlib

если у вас еще нет pip, вы можете установить его с помощью easy_install (который поставляется с OS X):

sudo easy_install pip

Я тестировал это только на 10.7 (Lion), но я подозреваю, что он также будет работать с 10.6.

это немного хак, но я нашел, что это самый простой способ установить matplotlib против платформы python, которая поставляется с OS X. Фондовая платформа python в 10.7 на самом деле довольно хороша и включает, например, пакет numpy-1.5.1, который связан с оптимизированной библиотекой BLAS от Apple (Accelerate):

dyldinfo -dylibs /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/linalg/lapack_lite.so 
for arch x86_64:
attributes     dependent dylibs
            /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
            /usr/lib/libSystem.B.dylib

старый, но все еще выскочил в моем поиске, когда у меня была та же проблема на Snow Leopard.

Вы сказали, что используете homebrew, поэтому вам нужно

brew link freetype

после его установки (с "brew install freetype").

это через эту ошибку. Я сделал то же самое с libpng, что привело к успешной установке.


недавно мне был предоставлен новый рабочий компьютер (MacBook Pro OS 10.6.5), и я хотел установить numpy + scipy + matplotlib в виртуальной среде Python. Я не эксперт, но виртуальная среда, похоже, позволяет устанавливать пакеты таким образом, чтобы они были изолированы от общесистемных пакетов, по существу, переопределяя системный путь умным способом. Итак, для одного проекта, над которым я работаю, требуются определенные версии этих пакетов, я могу установить их один раз и выполнить всю свою работу для этого проекта есть, независимо от других изменений внешней среды.

после многих проб и ошибок я смог создать виртуальную среду с Numpy 1.5.1, Scipy 0.8.0 и Matplotlib 1.0.0, работающую безупречно. Вот как:

Сначала установите следующие четыре пакета:

  • freetype-2.4.4
  • libpng, версия 1.4.5 найдено в http://ethan.tira-thompson.org/Mac_OS_X_Ports.html. Установка matplotlib не удалась, когда я попытался установить 1.5.0 из источника!
  • pkg-config, версия 0.23
  • virtualenv для Python2.6

(Я новый пользователь, поэтому я не могу размещать ссылки на эти, простите!).

Если вы устанавливаете из источника, используйте стандартную установку:

  • $ ./настроить
  • $ make
  • $ sudo сделать установку

затем загрузите исходные файлы для numpy, scipy и библиотек matplotlib.

теперь пришло время создать виртуальную среду в папке TESTENV:

$ virtualenv / path/to/dir / TESTENV

активировать виртуальную среду:

$ source . / path/to/dir/TESTENV/bin / активировать

теперь пакеты python будут установлены в TESTENV, как если бы это был корневой каталог установки. Что сработало для меня, так это выполнить:

$ python setupegg.py установить

в numpy, scipy, и исходные папки matplotlib (в этом порядке).

надеюсь, что это поможет!


попробуйте instuctions здесь. Мои заметки!--3-->здесь.


вот как я сделал это:

$ sudo make -f make.osx fetch deps mpl_build mpl_install

это установит его в /lib/python2.6/site-packages, просто переместите его содержимое в /Library/Python/2.6/site-packages/ для обеспечения согласованности.


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

brew install freetype

затем установка прошла хорошо, пока не столкнулась с png.ч не найдены. Я побежал!--3-->

brew install libpng
установка завершена и matplotlib.

(на os X 10.8.4)