¿Cómo instalar matplotlib en OS X?

19

Quiero instalar matplotlib en OS X. Si es posible, usando homebrew.

Instalé Python 2.7.1 usando brew install python, modifiqué mi ruta para usarlo,
instalé pip usando brew install pip
instalé numpy 1.5.1 usando pip install numpy
instalé scipy 0.8.0 usandopip install scipy

Aquí es donde se pone peludo. pip install matplotlibbuscará la versión incorrecta de matplotlib , que es incompatible con la versión reciente de numpy.

La solución es buscar la versión correcta de matplotlib manualmente:

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

Pero , esa versión no se puede compilar ya que no puede encontrar los encabezados de tipo libre:

En el archivo incluido desde src / ft2font.cpp: 1:
src / ft2font.h: 14: 22: error: ft2build.h: No existe tal archivo o directorio

Estos encabezados se instalan realmente /usr/X11/includecomo parte de las herramientas para desarrolladores X11.

Entonces, ¿cómo puedo hacer que matplotlib use estos encabezados?

Bastibe
fuente
Intentado brew install freetype?
ismail
Si. Ese paquete no está disponible. Sin embargo, hay una fórmula en github que lo proporciona. Sin embargo, no ayuda.
bastibe
1
brew install freetypefuncionó para mí a partir del 7 de noviembre de 2012
drootang

Respuestas:

18

El problema es que cuando se compilan las extensiones C, los archivos de encabezados necesarios no están en la ruta de búsqueda, y cuando se vinculan, las bibliotecas compartidas tampoco están en la ruta de búsqueda.

Lo siguiente funcionó para mí:

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
fuente
12

La respuesta simple es: debe haber pkg-infoinstalado o de lo contrario setup.pyno podrá encontrar las bibliotecas instaladas.

Bastibe
fuente
1
¿Cómo se instala uno pkg-info?
bradley.ayers
@bradleybrew install pkg-info
bastibe
77
En realidad, creo que debería ser pkg-configasí brew install pkg-config. Y no lo olvides brew linktambién.
noio
Tenía pkg-config instalado, pero no funcionó. La solución bradley.ayers funcionó para mí.
schlamar
Asegúrese de que el archivo freetype2.pc esté en una ubicación que pkg-config sepa leer
drootang
3

Seguí las instrucciones de esta página . Me quedé atrapado en

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

Entonces hice:

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

Verifiqué mi instalación escribiendo en la terminal:

python
import matplotlib
print matplotlib.__version__
print matplotlib.__file__

Obtuve la versión 1.1.0 (a partir de este escrito) y la ruta / usr / local / Cellar / ...

David Xia
fuente
A partir de hoy, Matplotlib debería estar en la versión 1.0.1. De hecho, escribí algo sobre esto aquí . Tal vez pueda encontrar información útil allí.
bastibe
Lo siento, eso es un error tipográfico. Quise decir 1.1.0.
David Xia
3

Alternativamente, puede usar MacPorts o Fink . Con MacPorts esto sería

sudo port install py27-matplotlib

que resuelve las dependencias automáticamente.

Personalmente, utilicé Macports para instalar python2.7 con matplotlib y parece funcionar bien en 10.7. Fink está en proceso de actualizar sus componentes internos para que funcionen con el nuevo sistema de compilación 10.7.

Tim
fuente
1
Personalmente prefiero Homebrew a MacPorts o Fink, ya que depende de las bibliotecas del sistema y es mucho más pirateable. Si no te importa eso, usar MacPorts o Fink es probablemente la solución más fácil.
bastibe
3

La respuesta es que no hay una biblioteca de tipo libre. simplemente hazlo:

brew install freetype
Zhengyang Liu
fuente
brew install freetype -> Error: No hay una fórmula disponible para freetype. ¿Cambió el nombre?
Tom
1
brew install freetypeSe instala libpngtambién.
LWZ
1

con OS X 10.10.3 lo arreglé con estos comandos

brew install freetype libpng pkg-config

¡pkg-config solucionó el problema!

Después de leer este problema, me las arreglo para solucionarlo

llazzaro
fuente
1

Mismo problema al usar macports. Solucionado con:

sudo port install pkgconfig

como noio sugirió para la preparación anterior.

Sam Inverso
fuente
0

En estos días, la forma más fácil es conda install matplotlib, probablemente , utilizando el condaadministrador de paquetes mediante análisis continuo.

Tenga en cuenta que puede instalar y usar condasin tener que usar la distribución completa de Anaconda. Solo pip install conda, conda inity estás listo para irte.

Bastibe
fuente
0

Escribí esta misma respuesta aquí, pero creo que puede ser de algún interés en esta discusión.

Pude instalar matplotlib en OSX 10.10 leyendo https://github.com/matplotlib/matplotlib/pull/3713 .
Esta no es una solución para usuarios de pip; solo una forma de instalar matplotlib en mi mac esperando una solución.

Descargué fuentes para matplotlib 1.4.2,
cambié la línea 960 en setupext.py como se describe en https://github.com/matplotlib/matplotlib/pull/3713/files :

'freetype2', 'ft2build.h',

se vuelve

'freetype2', 'freetype2/ft2build.h'

y luego compilado e instalado con:

python setup.py build
python setup.py install
karlacio
fuente