Как установить matplotlib на OS X?

19

Я хочу установить Matplotlib на OS X. Если возможно, с помощью homebrew.

Я установил Python 2.7.1 с помощью brew install python, я изменил свой путь, чтобы использовать его
Я установил pip с помощью brew install pip
Я установил numpy 1.5.1 с помощью pip install numpy
Я установил Scipy 0.8.0 с помощьюpip install scipy

Это где это становится волосатым. pip install matplotlibполучит неправильную версию matplotlib , которая несовместима с последней версией numpy.

Решение состоит в том, чтобы выбрать правильную версию matplotlib вручную:

pip install -f http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz matplotlib

Но эта версия не компилируется, так как не может найти заголовки freetype:

В файле из файла src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: ошибка: ft2build.h: такого файла или каталога нет

Эти заголовки фактически устанавливаются /usr/X11/includeкак часть инструментов разработчика X11.

Итак, как я могу сделать так, чтобы matplotlib использовал эти заголовки?

bastibe
источник
Пробовал brew install freetype?
Исмаил
Да. Этот пакет недоступен. Однако на github есть формула, которая его предоставляет. Не помогает, хотя.
Бастиб
1
brew install freetypeработал у меня с 7 ноября 2012 года
drootang

Ответы:

18

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

У меня сработало следующее:

export LDFLAGS="-L/usr/X11/lib"
export CFLAGS="-I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng12"
pip install matplotlib-1.0.1.tar.gz
bradley.ayers
источник
12

Ответ прост: вам нужно pkg-infoустановить программу, иначе setup.pyвы не сможете найти установленные библиотеки.

bastibe
источник
1
Как установить pkg-info?
bradley.ayers
@bradleybrew install pkg-info
Бастиб
7
На самом деле, я думаю , что это должно быть pkg-config, так brew install pkg-config. И не забывайте об brew linkэтом тоже.
Noio
У меня был установлен pkg-config, но он не работал. Решение bradley.ayers сработало для меня.
schlamar
Убедитесь, что файл freetype2.pc находится в расположении, которое pkg-config знает как прочитать
drootang
3

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

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__

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

Дэвид Ся
источник
На сегодняшний день Matplotlib должен быть в версии 1.0.1. Я действительно написал кое-что об этом здесь . Может быть, вы можете найти там полезную информацию.
Бастиб
Извините, это опечатка. Я имел ввиду 1.1.0.
Дэвид Ся
3

Альтернативно, вы можете использовать MacPorts или Fink . С MacPorts это было бы

sudo port install py27-matplotlib

который разрешает зависимости автоматически.

Лично я использовал Macports для установки python2.7 с matplotlib, и, похоже, он отлично работает на 10.7. Финк находится в процессе обновления своих внутренних компонентов для работы с новой системой сборки 10.7.

Тим
источник
1
Лично я предпочитаю Homebrew MacPorts или Fink, так как он опирается на системные библиотеки и более хакерский. Если вас это не волнует, возможно, использование MacPorts или Fink является самым простым решением.
Бастиб
3

Ответ в том, что нет библиотеки свободного типа. просто варить

brew install freetype
Чжэнъян Лю
источник
brew install freetype -> Ошибка: нет формулы для свободного типа. Имя изменилось?
Том
1
brew install freetypeустанавливает libpngтоже.
LWZ
1

с OS X 10.10.3 я исправил это с помощью этих команд

brew install freetype libpng pkg-config

pkg-config исправил проблему!

После прочтения этой проблемы мне удается исправить

llazzaro
источник
1

Та же проблема с использованием macports. Исправлено с помощью:

sudo port install pkgconfig

как noio предложил для варки выше.

Сэм Инверсо
источник
0

В наши дни, возможно, самый простой способ - conda install matplotlibиспользовать condaменеджер пакетов с помощью непрерывной аналитики.

Обратите внимание, что вы можете установить и использовать condaбез необходимости использования полного дистрибутива Anaconda. Просто pip install conda, conda initи ты в порядке.

bastibe
источник
0

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

Я получил установить Matplotlib на OSX 10.10, читая https://github.com/matplotlib/matplotlib/pull/3713 .
Это не решение для пользователей pip; просто способ установить Matplotlib на моем Mac в ожидании исправления.

Я скачал исходники для matplotlib 1.4.2,
изменил строку 960 в setupext.py, как описано в https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

becames

'freetype2', 'freetype2/ft2build.h'

а затем скомпилированы и установлены с:

python setup.py build
python setup.py install
karlacio
источник