2017-11-03 11 views
0

Ich versuche, WeasyPrint zu installieren. Ich verwende Windows 10, 64 Bit. Ich habe die Installationsanleitung auf ihrer Website verfolgt. Beachten Sie, dass ich neu bin. Ich habe die letzten zwei Tage damit verbracht, pango und cairo zu installieren, lesen Sie über jeden Beitrag online darüber, aber kann es nicht richtig machen.Installation von Pango/Kairo unter Windows 10, x64

  • Python 3.6.3
  • CFFI
  • html5lib
  • cairocffi
  • tinycss2
  • cssselect2
  • cairosvg
  • pyphen
  • pdfrw: Bisher habe ich installiert
  • pip
  • chocolatey (statt HomeBrew)
  • GTK3
  • Visual C++ Werkzeuge bauen

Das Problem ist, ich nicht Kairo und Pango bekommen.

Die Bibliotheken unter the pango download page sind nicht korrekt verknüpft.

Ich habe Kairo über den Link auf ihrer Website zu GTK+ installiert. Die Anweisungen geben nur eine Option für Win32. Ich habe versucht, es ohne Erfolg zu installieren.

Das Ziel ist es, WeasyPrint zum Laufen zu bringen. Ich habe es geschafft, es zu installieren, aber es funktioniert nicht, da Pango/Cairo nicht installiert sind.

Antwort

0

Dies ist ein häufiges Problem, auf das ich gestoßen bin. Wenn der Fehler nach der Installation von CAIRO (GTK +) immer noch auftritt und Sie sich sicher sind, dass sich die DLLs im Umgebungspfad befinden, ist das Problem wahrscheinlich ein Treiberkonflikt.

Kairo hängt von einigen spezifischen DLL vorhanden sein, aber Intel WiFi-Treiber verwenden häufig die gleichen Treiber, aber mit einer anderen Version, dies bewirkt, dass kairo nicht die richtigen Funktionen innerhalb der DLL erkennen, weil es ist die falschen DLL-Zugriff.

Um dies zu beheben verwende ich normalerweise Dependency Walker und dann öffne ich die Cairo dll, wo gtk installiert ist und ich finde die Pfade, die die Bibliotheken auf dem Kairo abhängig sind. Ich tue dies, indem ich den Bibliotheksnamen in Dependency Walker suche und ihn dann in die Suchleiste des Fensters tippe. Geben Sie ein paar Sekunden ein, um die DLLs zu finden, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Dateispeicherort öffnen". Wenn sich die Datei in einem anderen Verzeichnis als gtk befindet und eine DLL mit demselben Namen im gtk-Verzeichnis vorhanden ist, löschen Sie sie oder benennen Sie sie um.

Möglicherweise müssen Sie dies mit ein paar DLLs tun.

ACHTUNG: Dies könnte einige Funktionen in den Programmen, von denen Sie die DLL löschen, beeinträchtigen.

P.S.Verwenden Sie nicht weasyprint. Das habe ich auf die harte Tour gelernt.

Verwandte Themen