Ich muss Mime-Typ für einige Dateien in Windows bekommen, also habe ich python-magic
(auf 32-Bit Python 2.7.3) installiert.
Es hängt von der Unix magic
-Bibliothek ab.
Der Autor weist an, regex2.dll
, zlib1.dll
und magic1.dll
von gnuwin32-Projekt zu erhalten.
Also habe ich die Dateien in einem Ordner gespeichert und den Ordner zu meinem System hinzugefügt PATH
.
Jetzt, wenn ich magic
Methoden ausführen, bekomme ich Datei Ausnahme:
DLLs sind im PATH, ich habe versucht, Debugging und magic1.dll
ist richtig lokalisiert, aber irgendwo in der Bibliothek wirft eine Ausnahme.
Im gnuwin32
Paket habe ich magic
und magic.mgc
gefunden. Ich habe sie in den gleichen Ordner gelegt und WindowsError: [Error 126]
auf
Dies geschieht offensichtlich, weil Python versucht, magic
file als dll zu öffnen, was einfacher Text ist. Nach dem Hinzufügen von .dll
zu Dateinamen im Code bekomme ich die gleiche magic.MagicException: could not find any magic files!
.
Welche Dateien fehlen mir?
UPDATE:
%Vor%UPDATE 2 (Gelöst):
%Vor%musste die Datei nur explizit angeben
Der Pfad zu magic
file muss explizit an den Konstruktor übergeben werden.
Da die pythonmagischen Probleme ziemlich häufig vorkommen, hier eine funktionierende Lösung für zukünftige Googler: Nachdem ich die meisten Lösungen getestet hatte, ohne den Quellcode zu ändern, fand ich folgendes, um python-magic aus der Box zu bekommen:
Tags und Links python windows gnuwin32 python-magic