Wenn ich pip install matplotlib
(innerhalb eines virtualenv) starte, sind die ersten Zeilen der Ausgabe:
Hinweis
Erstens, im Gegensatz zu der obigen Ausgabe, ist pkg-config
tatsächlich installiert und auf dem PATH
:
Zweitens ist qt
in demselben Verzeichnis verfügbar, in dem freetype
und libpng
gefunden wurden:
Meine Frage besteht aus drei Teilen:
- Wo bekommt
pip install matplotlib
dasbasedirlist
(3. Zeile der obigen Ausgabe)?- Was muss ich anders machen, damit
pip install matplotlib
pkg-config
findet?- Was muss ich anders machen, damit
pip install matplotlib
qt
findet?
Installieren Sie einfach Freetype-Schriften, um matplotlib zu erhalten.
%Vor%Alle matplotlib-Dateien werden in /usr/local/lib/python2.7/site-packages/ installiert. Auch wenn Sie mit dem Pip-Installationsprogramm installieren möchten, müssen Sie das Problem mit der Free- type-Schriftart beheben. Dies kann wie oben beschrieben geschehen.
Ich kann Ihre spezifischen Fragen nicht stellen, aber mein pip install matplotlib sah neulich sehr ähnlich aus. Nach fünf Stunden, in denen ich meinen Kopf gegen die Wand knallte, funktionierte diese Lösung für mich (von practicalcomputing.org
)Ich habe diesen Befehlssatz zum Einrichten von Simlinks erhalten:
%Vor%Es löst nicht alle Ihre Probleme, aber es hat mein pkg-config-Problem (unter anderem) gelöst. Vielleicht würde eine ähnliche Verbindung mit QT helfen.
Alte Frage, aber wollte einige mögliche hilfreiche Krümel hinterlassen.
Ich habe gerade ein ähnliches Problem mit Ubuntu 12.04 behandelt, nachdem ich versucht hatte, eine Anwendung manuell zu installieren, die auf einer Reihe von Python-Bindungen basierte, die manuell in einem virtualenv installiert wurden. Die Python-Bindings wurden eindeutig an einer geeigneten Stelle in meinem virtualenv installiert, aber das Installationsprogramm konnte sie einfach nicht mit pkg-config
finden.
Also, um die ursprünglichen Fragen zu beantworten:
pkg-config
gut findet; es findet nur keine nützliche Information für freetype2
und libpng
. python-qt4
global installieren und ein virtualenv mit --system-site-packages
enabled erstellen, sollte matplotlib glücklich sein, auch wenn es bedeutet, dass Ihre globale Umgebung mit Modulen verunreinigt wird. Aber ich war nicht in der Lage, pip zu bekommen, etwas nützliches zu tun, wenn ich versuche, PyQt4 oder python-qt in einem virtualenv zu installieren. libqt4-dev
sollten auch alle Abhängigkeitsprobleme behoben werden, wenn Sie etwas bauen, das auf Qt4 basiert. Auf den meisten Systemen sucht pkg-config nach / usr / lib / pkgconfig, / usr / teilen / pkgconfig, / usr / local / lib / pkgconfig und / usr / local / share / pkgconfig für diese Dateien. Außerdem wird in der durch Doppelpunkt getrennten (in Windows durch Semikolon getrennte) Liste der Verzeichnisse gesucht, die von der Umgebungsvariablen PKG_CONFIG_PATH angegeben werden.
man pkg-config
sucht nach * .pc Dateien; Die Tatsache, dass Sie diese Abhängigkeiten irgendwo gefunden haben, bedeutet nicht, dass pkg-config
irgendwelche * .pc Dateien in diesen Verzeichnissen findet. pkg-config
entsprechend einstellen. PKG_CONFIG_PATH
-Skriptes in meinem virtualenv.
bin/activate
enthält, bevor Sie _OLD_VIRTUAL_PATH
bei der Aktivierung aktualisieren und nach dem Deaktivieren wieder zu PATH
zurückkehren _OLD_VIRTUAL_PATH
zu Beginn leer war, ein wenig mehr Logik benötigen, um sicherzustellen, dass es bei der Deaktivierung gelöscht wird Ich hatte einen fast identischen Fehler. Ich habe die Fehler weiter unten durchgesehen, und es scheint, als wäre das Problem bei freetype2.
Ich hatte ähnliche frustrierende Probleme mit anderen Paketen, die Freetype verwenden. Der Kompilierfehler kam für mich aus folgendem:
/ usr / local / include / freetype2 / freetype / *. h sind die Freetype-Dateien.
/ usr / local / include ist das Suchverzeichnis.
-Ifreetype / *. h ist das Flag, das an den Compiler übergeben wird.
Das Problem ist subtil, aber ich konnte Matplotlib kompilieren (was ehrlich gesagt ungefähr alles ist, was mir wirklich wichtig ist), indem ich / usr / local / include / freetype2 / freetype - & gt; / usr / local / include / freetype.
Hoffentlich wird dies jedem helfen, der darüber stolpert!
Tags und Links python macos matplotlib pip virtualenv