Не удалось установить matplotlib на Mac OS X

Я пытаюсь установить matplotlib для графических приложений в Python в Mac OS X. Когда я запускаю "setup.py 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

Любые идеи?

Ответ 1

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

Ответ 2

Корень проблемы заключается в том, что freetype и libpng устанавливаются в неканонических местах по XCode в /usr/X 11 вместо/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

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

sudo easy_install pip

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

Это немного взломанный, но я нашел, что это самый простой способ получить matplotlib, установленный против фреймворка python, который поставляется с OS X. Фондовая система python в 10.7 на самом деле довольно хороша, и включает, например, пакет numpy-1.5.1, который связан с оптимизированной Apple BLAS-библиотекой (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

Ответ 3

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

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

brew link freetype

после его установки (с помощью brew установить freetype ").

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

Ответ 4

Недавно мне был предоставлен новый рабочий компьютер (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

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

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

  • $./configure
  • $make
  • $sudo make install

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

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

$virtualenv/path/to/dir/TESTENV

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

$source./Путь/к/каталогу/TESTENV/бен/активировать

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

$python setupegg.py install

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

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

Ответ 5

Попробуйте установить здесь. Мои заметки здесь.

Ответ 6

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

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

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

Ответ 7

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

brew install freetype

тогда установка прошла хорошо, пока не наткнулась на png.h, и не найден. Я побежал

brew install libpng

Установка завершена, и был установлен matplotlib.

(по os X 10.8.4)

Ответ 8

Я очень рекомендую StrongInference Scipy Superpack. Он работает со встроенным Apple, поставляемым Python на 10.6 Snow Leopard, и теперь он работает с 10.9. Он подходит как для 32-битной, так и для 64-разрядной установки. Это не требует установки отдельных дистрибутивов Python или менеджеров пакетов, таких как Macports или Fink.

Используйте его, сначала загрузив оболочку script из эту страницу. Тогда:

sh superpack_10.6_2011.03.07.sh

Или замените superpack_10.6_2011.03.07.sh на имя последней оболочки script, время от времени обновляя ее.

Чтобы использовать его, убедитесь, что вы вводите ipython, а не python!

Ответ 9

Я получил аналогичную ошибку - вам не хватает файлов разработки для libfreetype - на моей машине Linux - это libfreetype6-dev

После того, как я установил этот пип, он выполнил задание.

Ответ 10

Выполняя это каждый раз, я строю matplotlib. Мое решение:

export CFLAGS=-I/usr/X11/include/freetype2
python setup.py install

Ответ 11

Я следил за этой страничными инструкциями. Я застрял в

pip install -e git+https://github.com/matplotlib/matplotlib#egg=matplotlib-dev

Тогда я сделал:

git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install

Проверьте мою установку, набрав терминал:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Я получил версию 0.10.0 dev (на момент написания этой статьи) и path/usr/local/Cellar/...

Ответ 12

Мне нравится использовать brew, и ни одна из трех первых объяснений не работала или не соблазняла меня. Тем не менее, я действительно посмотрел еще и нашел это brew дружественное объяснение и решение:

http://jholewinski.org/blog/installing-matplotlib-on-os-x-10-7-with-homebrew/

Резюме: libpng на Snow Leopard не дружит с matplotlib. Вы можете вручную установить освобожденный matplotlib, чтобы обойти его:

brew install python
brew install gfortran
brew install pkg-config
easy_install pip
pip install numpy
git clone https://github.com/matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install

Ответ 13

Попробуйте symlinking freetype2 для freetype:

ln -s /usr/local/opt/freetype/include/freetype2/ /usr/local/include/freetype

Ответ 14

Мне удалось заставить это работать без изменения моего PATH и т.д. Кажется, моя проблема заключалась в том, что библиотека freetype (установленная с brew) не была найдена при использовании

brew install python
brew install freetype
# maybe more dependencies

Затем создайте virtualenv, используя питон brew (без явного указания пути к питону brew, я обнаружил, что виртуальный файл brew все равно будет использовать OSX/usr/bin/python по умолчанию):

/usr/local/bin/virtualenv -p /usr/local/bin/python env
source env/bin/activate
pip install matplotlib