Es scheint, dass Sie hier verschiedene Installationsoptionen mischen. Der MacPorts-Paketsystem-Befehl port install
sollte automatisch alle für ein bestimmtes Paket erforderlichen Abhängigkeiten abrufen, sodass der Trick darin besteht, mit dem richtigen Projekt auf oberster Ebene zu beginnen. Für Python-Pakete hat MacPorts derzeit eine allgemeine Konvention: Pakete, die mit py-
beginnen, sind für Python 2.4, diejenigen mit py25-
sind für 2.5 und py26-
für 2.6. Zurzeit sind py-cairo
, py25-cairo
und py26-cairo
Pakete in MacPorts verfügbar.
Durch py-cairo
Wahl nahm Sie die python2.4-Version und Sie werden wahrscheinlich feststellen, dass MacPorts gebaut und installiert eine python2.4 für Sie (bei /opt/local/bin/python2.4
verbunden sind) und, wenn Sie es starten, werden Sie wahrscheinlich, dass Sie finden Kann dort Kairo importieren. Nun, dass kann für Ihre Bedürfnisse in Ordnung sein, aber Python 2.4 ist ziemlich alt und nicht mehr so unterstützt, wenn Sie gerade starten, könnte es besser sein, mit Python 2.6, eine der beiden aktuellen Versionen von Python zu starten. Um dies zu tun, alles, was Sie benötigen, sollten zu tun ist:
sudo port install py26-cairo
Das sollte bringen in aller fehlenden Abhängigkeiten, vor allem die MacPorts python2.6, die Sie von /opt/local/bin/python2.6
ausführen können. Vielleicht möchten Sie Ihre $PATH
in Ihrem Shell-Startup-Skript, wahrscheinlich .bash_profile, um /opt/local/bin
früh auf den Suchpfad setzen.
Da die Installation von Cairo und seinen Python-Bindings ziemlich komplex zu sein scheint, sollte es einfacher und besser sein, dafür eine vollständige MacPorts-Lösung zu verwenden. Das bedeutet, dass Sie unnötigerweise (und harmlos) einige Python-Instanzen installiert haben, die Sie nicht benötigen. Aber wenn Sie nicht möchten, die Dinge ein wenig reinigen, können Sie bequem die MacPorts python24 entfernen mit:
sudo port uninstall py-cairo python24
vollständig zu entfernen die python.org installiert Python komplizierter. Ich habe den Prozess here erklärt. Aber es gibt keine dringende Notwendigkeit, beides zu entfernen, solange Sie Ihre Wege gerade halten.
Update: Ich habe alle .h-Dateien aus dem Pixman-Verzeichnis nach Cairo kopiert. Ein hässliches, brutales Ding, aber es schien zu funktionieren: 'make; sudo make install 'scheint gut zu funktionieren. Ich bekomme immer noch "Requested 'cairo> = 1.8.8', aber die Version von Cairo ist 1.0.4" wenn Sie versuchen, pycairo, obwohl installieren. Es denkt, ich habe Kairo 1.0.4 und ignoriert das neue. Irgendeine Idee warum? Wie kann ich das beheben? – Yoav