Error in installing Matplotlib : fatal error C1083

Viewed 6946

I am relatively new to Python coding and want to learn about statistics and data management in Python. For this I would like to install Matplotlib, which is giving me some issues.

I see other people having this issue, but I have not fully understood how to fix it.

To install i use

pip install matplotlib

I have the following specs installed

  • Windows 10
  • Python 3.8
  • Microsoft Studio 2019

The first error i got was to install Microsoft Studio, so I did that. I have also attempted to update 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:
4 Answers

You have python 3.8, not python 3.7.
But there are no python 3.8 wheels available for matplotlib 3.1.1 on pypi. So best remove python 3.8 completely and install python 3.7.
When you then run python -m pip install matplotlib it will install the compiled version from the wheels, so there is no need to compile anything yourself or have Microsoft Studio available.

After spending a lot of time on the issue, this helped me to solve it:

python -m pip install -U matplotlib==3.2.0rc1

FYI: the matplotlib website installation instructions has some info on installing from source.

For Windows it states setting include path and link path:

set CL=/IC:\directory\containing\ft2build.h ...
set LINK=/LIBPATH:C:\directory\containing\freetype.lib ...

As a workaround you may install matplotlib on Windows using the 'Unofficial Windows Binaries for Python Extension Packages' with pip install <downloaded_filename>.

Tested on Python 3.8, Windows 10 and matplotlib-3.2

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

Related