Cairo-Bibliothek in Python einladen

Probleme bei der Installation?
Antworten
Kai-Behncke
User
Beiträge: 4
Registriert: Mittwoch 4. Februar 2009, 13:02

Hallo allerseits,

ich bin ein Python-Newbie und stehe auf Windows 7 vor folgendem Problem:

Mit einem bestehenden Skript möchte ich eine SVG-Datei erstellen, damit das funktioniert benötigte ich die Cairo-Bibliothek.

In dem Skript wird das wie folgt gemacht:

Code: Alles auswählen

import os
import sys
import timeit
import zipfile
import tempfile
from glob import glob

from mapnik_utils.version_adapter import Mapnik

mapnik = Mapnik()

from mapnik_utils.tools import call

try:
    import cairo
    HAS_CAIRO = True
    cairo_mapping = {'svg':cairo.SVGSurface,
                'pdf':cairo.PDFSurface,
                'ps':cairo.PSSurface,
                'ARGB32':cairo.FORMAT_ARGB32,
                'RGB24':cairo.FORMAT_RGB24
                }

except ImportError:   
    HAS_CAIRO = False

.....nur findet er partout die Cairo-Bibliothek nicht. Kaann mir jemand einen Tip geben, was ich da machen kann?
Bislang habe ich mir cairo_1.10.2-1_win64 heruntergeladen und die dlls nach C:/...system32 kopiert.

Ebenso habe ich py2cairo heruntergeladen und die exe ausgeführt, danach ein Neustart des Systems, leider ohne Erfolg. Bin etwas ratlos :cry:
Viele Grüße, Kai
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Bist du dir sicher, dass deine DLLs auch noch in system32 sind? Normalerweise darf man unter Win7 nicht ins system32 Verzeichnis schreiben, auch nicht als Administrator. AFAIK darf da nur der Benutzer "TrustedInstaller" Dateien hineinkopieren. Tendenziell sind also die Cairo Bibliotheken in einem anderen Verzeichnis besser aufgehoben. Am besten auch nicht unter Program Files packen, da gibt es auch immer wieder mal Probleme, wenn Programme dort schreiben wollen. Ich kenne die Cairo Geschichte jetzt nicht, zur Sicherheit würde ich sie aber à la C:\Cairo ablegen. C:\Cairo dann noch in den PATH aufnehmen, dann sollte das eigentlich gehen.

Py2cairo ist auch richtig installiert, d.h. du hast in PythonX.Y\Lib\site-packages auch irgendwo einen Verzeichnis/Datei mit cairo im Namen?


Gruß
Frank
BlackJack

@Kai-Behncke: Ist auch sichergestellt, dass alles 32-Bit ist? Also Python und die DLLs von Cairo?
Antworten