Error al instalar Matplotlib: error fatal C1083

8

Soy relativamente nuevo en la codificación de Python y quiero aprender sobre estadísticas y gestión de datos en Python. Para esto, me gustaría instalar Matplotlib, que me está dando algunos problemas.

Veo a otras personas que tienen este problema, pero no he entendido completamente cómo solucionarlo.

Para instalarlo uso

pip install matplotlib

Tengo las siguientes especificaciones instaladas

  • Windows 10
  • Python 3.8
  • Microsoft Studio 2019

El primer error que obtuve fue instalar Microsoft Studio, así que lo hice. También he intentado actualizar pip

BUILDING MATPLOTLIB 
 matplotlib: yes [3.1.1] 
 python: yes [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)]] 
 platform: yes [win32] 

...

 checkdep_freetype2.c
    src/checkdep_freetype2.c(1): fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1:
usuario12239916
fuente
El problema que enfrenta proviene de un proceso de construcción fallido de matplotlib. Sin embargo, por lo general, matplotlib tendrá ruedas disponibles en pip para la mayoría de las plataformas principales, por lo que me pregunto por qué todavía está tratando de compilar algo. ¿El mensaje en la línea de comando dice algo acerca de qué versión está tratando de construir?
ImportanceOfBeingErnest
Hola IMportanceOfBeingErnest ¿Quieres decir algo como esto? CREACIÓN DE MATPLOTLIB matplotlib: sí [3.1.1] python: sí [3.8.0 (etiquetas / v3.8.0: fa919fd, 14 de octubre de 2019, 19:21:23) [MSC v.1916 32 bit (Intel)]] plataforma: sí [win32] En realidad, acabo de instalar Python hace dos días e intenté instalar MatPlotLib hoy. Instalé Numpy sin ningún problema.
user12239916

Respuestas:

17

Tienes python 3.8, no python 3.7.
Pero no hay ruedas python 3.8 disponibles para matplotlib 3.1.1 en pypi. Por lo tanto, es mejor eliminar Python 3.8 por completo e instalar Python 3.7.
Cuando lo ejecute python -m pip install matplotlib, instalará la versión compilada desde las ruedas, por lo que no es necesario compilar nada usted mismo o tener Microsoft Studio disponible.

Importancia de ser ernesto
fuente
Perfecto gracias que lo resolvió. Supongo que la comunidad Matplotlib aún no se ha actualizado para adaptarse a Python 3.8.
user12239916
1
@ user12239916 Sí, python 3.8 solo se lanzó hace unos días, mientras que matplotlib 3.1.1 es de julio de este año. La próxima versión de matplotlib debería ser, en principio, compatible con python 3.8; pero como de costumbre, aún puede haber problemas leves. A menos que realmente necesite Python 3.8, solo espere medio año hasta que todo esté resuelto.
ImportanceOfBeingErnest
¡¡Gracias!! me salvaste. No podía entender por qué seguía rompiendo jajaja
Jonathan Ishii
5

Después de pasar mucho tiempo en el tema, esto me ayudó a resolverlo:

python -m pip install -U matplotlib==3.2.0rc1
Juvago
fuente
2

FYI: las instrucciones de instalación del sitio web matplotlib tienen información sobre cómo instalar desde la fuente.

Para Windows indica que la configuración incluye ruta y ruta de enlace:

set CL=/IC:\directory\containing\ft2build.h ...
set LINK=/LIBPATH:C:\directory\containing\freetype.lib ...
Tom Saenen
fuente
Puede encontrar todos los archivos de inclusión aquí: github.com/ubawurinna/freetype-windows-binaries
pgampe
2

Como solución alternativa, puede instalar matplotlib en Windows utilizando los 'Binarios no oficiales de Windows para paquetes de extensión de Python' con pip install <downloaded_filename>.

Probado en Python 3.8, Windows 10 y matplotlib-3.2

https://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib

Oryon
fuente
Excelente sugerencia, también funciona para mí, y no hay necesidad de jugar con otras configuraciones o definiciones de ruta o lo que sea. ¡Buen trabajo!
mtjmohr