2010-11-04 21 views
18

Estoy tratando de instalar matplotlib para graficar aplicaciones en Python en Mac OS X. Cuando ejecuto "python setup.py install", me da esta carga de errores: http://pastebin.com/u7fL37ic.No se puede instalar matplotlib en Mac OS X

Un fragmento rápida:

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 

he instalado freetype usando MacPorts, y pensé que sería solucionar el problema, pero no hubo suerte. Me da el mismo error que antes. Parece que no puede encontrar los archivos freetype derecha:

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'. 

¿Dónde debo colocar los archivos freetype de modo que se pueden encontrar? Ahora están en/opt/local/lib

¿Alguna idea?

+0

RIP John D. Hunter - autor de matplotlib. Tan triste escuchar que falleció. http://matplotlib.org/ – user391339

Respuesta

1

también puede considerar el uso de la distribución Enthought (que viene incluso gratuito para uso no comercial) Se entrega totalmente instalado sin ninguna dificultad http://www.enthought.com/products/getepd.php (no tengo ninguna relación con Enthought en absoluto - sólo soy un usuario satisfecho)

+0

Lástima que esto se comprueba como una respuesta porque simplemente no responde la pregunta ... ver la respuesta a continuación de @mhowison – Christophe

4

Pruebe las instrucciones here. Mis notas here.

+0

Esto no funcionó para mí, creo que es b/c Estoy usando una versión de python instalada en/usr/local (vía brew) ... probablemente funcione para la python estándar instalado con OSX Snow Leopard, supongo. – dsummersl

3

Así es como lo hice:

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

Esto instalará en /lib/python2.6/site-packages, basta con mover su contenido a /Library/Python/2.6/site-packages/ para mantener la coherencia.

+0

Oye, intenté ejecutar esto y obtuve este error: IOError: [Errno socket error] [Errno 51] Network is inalcanzable marca: *** [fetch] Error 1 ¿Pensamientos? – tchaymore

+1

sin conexión de red? – rytis

7

Me dieron recientemente una nueva computadora de trabajo (MacBook Pro OS 10.6.5), y quería instalar numpy + scipy + matplotlib en un entorno virtual de Python. No soy un experto, pero el entorno virtual parece permitirle instalar paquetes de modo que estén aislados de los paquetes de todo el sistema, esencialmente mediante la redefinición de la ruta del sistema de una manera inteligente. Entonces, para un proyecto en el que estoy trabajando que requiere ciertas versiones de estos paquetes, puedo instalarlos una vez y hacer todo mi trabajo para ese proyecto allí, independientemente de otros cambios que realice fuera del entorno.

Después de una gran cantidad de intentos de prueba y error, pude construir un entorno virtual con Numpy 1.5.1, Scipy 0.8.0 y Matplotlib 1.0.0 todo funcionando sin problemas. Así es como:

En primer lugar, instale los siguientes cuatro paquetes:

(soy un nuevo usuario, de modo que no puedo publicar enlaces a éstos, lo siento!).

Si instala desde el código fuente, utilice una instalación estándar:

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

A continuación, descarga los archivos de origen para numpy, scipy y matplotlib.

Ahora es el momento para crear un entorno virtual en TESTENV carpeta:

$ virtualenv/ruta/a/dir/TESTENV

Activar el entorno virtual:

$ fuente./ruta/a/dir/TESTENV/bin/activate

Ahora, los paquetes de python se instalarán dentro de TESTENV como si fuera el directorio de instalación raíz. Lo que funcionó para mí fue la de ejecutar:

$ pitón setupegg.py instalar

en las carpetas numpy, SciPy, y la fuente matplotlib (en ese orden).

Espero que ayude!

+0

http://pypi.python.org/pypi/virtualenv – user391339

2

Recomiendo encarecidamente StrongInference Scipy Superpack. Funciona con el Python provisto por Apple en 10.6 Snow Leopard, y ahora está trabajando con 10.9. Es amigable con las instalaciones de 32 bits y de 64 bits. No requiere la instalación de una distribución de Python separada o gestores de paquetes como Macports o Fink.

Úselo descargando primero el script de shell de this page. Entonces:

sh superpack_10.6_2011.03.07.sh 

O, reemplace superpack_10.6_2011.03.07.sh con el nombre de la última secuencia de comandos shell a medida que se actualizan de vez en cuando.

Para utilizarlo, ¡asegúrese de escribir en ipython y no en python!

+0

La gente StrongInference Superpack también ha actualizado su script para Lion. –

+0

Denis, arreglé el enlace roto (la página movida). ¡Gracias! –

1

Seguí esto page's instructions. Me quedé atrapado en

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

luego hice:

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

comprobado mi instalación escribiendo en el terminal:

python 
import matplotlib 
print matplotlib.__version__ 
print matplotlib.__file__ 

llegué versión 0.10.0 dev (a partir de este escrito) y ruta/usr/local/Cellar/...

1

Me gusta usar la infusión, y ninguna de las tres principales explicaciones funcionó o fueron entici ng a mí. Sin embargo, me veía un poco más, y encontré este brebaje explicación amable y solución:

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

Resumen: libpng en Snow Leopard no es en términos amistosos con matplotlib.Puede instalar manualmente el matplotlib ONU-lanza para trabajar alrededor de ella:

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 
2

tengo un error similar - que se está perdiendo los archivos de desarrollo para libfreetype - en mi máquina Linux - esto es libfreetype6-dev

Después de instalar este pip hice su trabajo.

33

La raíz del problema es que freetype y libpng están instalados en ubicaciones no canónicas por XCode, en/usr/X11 en lugar de/usr o/usr/local.

Todas las respuestas ya dadas abordan el problema volviendo a generar freetype y libpng, ya sea manualmente o usando un administrador de paquetes como homebrew.

Puede, sin embargo, obtener matplotlib para compilar simplemente enlazar simbólicamente los/las cabeceras y bibliotecas existentes freetype libpng en el usr/árbol/local con:

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 

que prefieren construir paquetes de Python con la pipa, por lo entonces yo uso:

sudo pip install matplotlib 

Si aún no dispone de PIP, se puede instalar con easy_install (que viene con OS X):

sudo easy_install pip 

Solo he probado esto en 10.7 (Lion) pero sospecho que también funcionará con 10.6.

Está un poco de un truco, pero he encontrado que es la forma más fácil para matplotlib instalado contra el marco de la pitón que se incluye con OS X. El marco de la pitón en 10.7 es realmente muy bueno, e incluye, por ejemplo, un paquete numpy-1.5.1 que está enlazado con la biblioteca BLAS optimizado de Apple (Acelerar):

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 
+0

esta es la única forma en que probé que funcionó para mí (¡no quiero pagar por EPD), gracias! – vasek1

+7

ACTUALIZACIÓN: en OS X Mountain Lion (10.8), X11 ya no está instalado de manera predeterminada, y en su lugar necesita instalar XQuartz (consulte support.apple.com/kb/HT5293). La buena noticia es que encontré una forma aún más simple de instalar matplotlib sin crear enlaces simbólicos en/usr/local. Si tiene pkg-config instalado (por ejemplo, a través de homebrew), ejecute "sudo PKG_CONFIG_PATH =/opt/X11/lib/pkgconfig pip install matplotlib", que recuperará las dependencias correctas (libpng, freetype) de XQuartz mediante pkg-config. – mhowison

+0

El método anterior (con 'PKG_CONFIG_PATH') no funcionó para mí en 10.8.4. –

8

antiguo, pero todavía apareció en mi búsqueda cuando tuve el mismo problema en Snow Leopard .

Usted dijo que estaba utilizando homebrew, por lo que necesita

brew link freetype 

después de instalarlo (con "cerveza instalar freetype").

Esto pasó por ese error. Hice lo mismo con libpng, lo que resultó en una instalación exitosa.

2

Ejecutando esto cada vez que construyo matplotlib. Mi solución:

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

que estaba teniendo el mismo problema al intentar instalar matplotlib. Después de probar algunos de la solución anterior, que acaba de ejecutar

brew install freetype 

entonces, la instalación fue bien hasta que se topó con un png.h no encontrado. Corrí

brew install libpng 

la instalación terminada y fue instalado matplotlib.

(en OS X 10.8.4)

+0

Esa es la forma más fácil de hacerlo. Funciona bien en 10.9 también. –

1

Trate freetype2 enlaces simbólicos a freetype:

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

pude conseguir que esto funcione sin modificar mi camino, etc. Parece que mi problema era la biblioteca FreeType (instalado con cerveza) no se encuentra cuando utilizando un pitón no brew

brew install python 
brew install freetype 
# maybe more dependencies 

a continuación, crear una virtualenv usando el pitón de preparación (sin especificar explícitamente la ruta a la pitón brew encontré que el virtualenv brew todavía utilizar el OSX/usr/bin/python predeterminado) :

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