Не удается установить библиотек 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 (в этом порядке).
надеюсь, что это поможет!
вот как я сделал это:
$ 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)