Как установить 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 использовал эти заголовки?


Пробовал 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

12

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


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 исправил проблему!

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


1

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

sudo port install pkgconfig

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



0

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

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


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.