Fehler bei der Installation von Matplotlib: schwerwiegender Fehler C1083

8

Ich bin relativ neu in der Python-Codierung und möchte etwas über Statistik und Datenverwaltung in Python lernen. Dafür möchte ich Matplotlib installieren, was mir einige Probleme bereitet.

Ich sehe andere Leute, die dieses Problem haben, aber ich habe nicht vollständig verstanden, wie es behoben werden kann.

Zur Installation benutze ich

pip install matplotlib

Ich habe die folgenden Spezifikationen installiert

  • Windows 10
  • Python 3.8
  • Microsoft Studio 2019

Der erste Fehler, den ich bekam, war die Installation von Microsoft Studio, also habe ich das gemacht. Ich habe auch versucht, pip zu aktualisieren

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:
user12239916
quelle
Das Problem, mit dem Sie konfrontiert sind, ist auf einen fehlgeschlagenen Erstellungsprozess von matplotlib zurückzuführen. Normalerweise verfügt matplotlib jedoch über Räder, die für die meisten wichtigen Plattformen auf Pip verfügbar sind. Daher frage ich mich, warum immer noch versucht wird, etwas zu kompilieren. Gibt die Meldung in der Befehlszeile Auskunft darüber, welche Version erstellt werden soll?
ImportanceOfBeingErnest
Hi IMportanceOfBeingErnest Meinst du so etwas? BUILDING MATPLOTLIB matplotlib: yes [3.1.1] python: yes [3.8.0 (tags / v3.8.0: fa919fd, 14. Oktober 2019, 19:21:23) [MSC v.1916 32-Bit (Intel)]] Plattform: yes [win32] Ich habe Python vor zwei Tagen installiert und heute versucht, MatPlotLib zu installieren. Ich habe Numpy ohne Probleme installiert.
user12239916

Antworten:

17

Sie haben Python 3.8, nicht Python 3.7. Für matplotlib 3.1.1 auf pypi
sind jedoch keine Python 3.8-Räder verfügbar . Entfernen Sie Python 3.8 am besten vollständig und installieren Sie Python 3.7.
Wenn Sie dann ausführen python -m pip install matplotlib, wird die kompilierte Version von den Rädern installiert, sodass Sie nichts selbst kompilieren oder Microsoft Studio zur Verfügung haben müssen.

Bedeutung von BeErnest
quelle
Perfekt, danke, dass es gelöst hat. Ich denke, die Matplotlib-Community wurde dann noch nicht auf Python 3.8 aktualisiert.
user12239916
1
@ user12239916 Ja, Python 3.8 wurde erst vor einigen Tagen veröffentlicht, während Matplotlib 3.1.1 ab Juli dieses Jahres verfügbar ist. Die nächste Matplotlib-Version sollte grundsätzlich mit Python 3.8 kompatibel sein. aber wie immer kann es immer noch leichte Probleme geben. Warten Sie nur ein halbes Jahr, bis alles erledigt ist, es sei denn, Sie benötigen wirklich Python 3.8.
ImportanceOfBeingErnest
Vielen Dank!! Du hast mich gerettet. Ich konnte nicht herausfinden, warum es immer wieder brach lol
Jonathan Ishii
5

Nachdem ich viel Zeit mit dem Problem verbracht hatte, half mir dies, es zu lösen:

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

Zu Ihrer Information : Die Installationsanweisungen für die matplotlib-Website enthalten einige Informationen zur Installation von der Quelle.

Für Windows heißt es, dass die Einstellungen Include-Pfad und Link-Pfad enthalten sind:

set CL=/IC:\directory\containing\ft2build.h ...
set LINK=/LIBPATH:C:\directory\containing\freetype.lib ...
Tom Saenen
quelle
Sie finden alle Include-Dateien hier: github.com/ubawurinna/freetype-windows-binaries
pgampe
2

Um dieses Problem zu umgehen, können Sie matplotlib unter Windows mithilfe der 'Inoffiziellen Windows-Binärdateien für Python-Erweiterungspakete' mit installieren pip install <downloaded_filename>.

Getestet unter Python 3.8, Windows 10 und matplotlib-3.2

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

Oryon
quelle
Ausgezeichneter Vorschlag, es macht auch für mich den Trick, und es besteht keine Notwendigkeit, mit weiteren Konfigurationen oder Pfaddefinitionen oder was auch immer herumzuspielen. Gute Arbeit!
Mtjmohr