Ich versuche die Spatialite Beta Version 3.0 zu benutzen, weil ich sie benutze Windows 7 auf einem 64-Bit-Rechner.
Ich bekomme immer den gefürchteten sqlite3.OperationalError: The
specified module could not be found.
Fehler, wenn ich versuche, zu laden
libspatialite-4.dll
.
Ich habe Folgendes versucht:
libspatialite-4.dll
und alle anderen DLLs in den gleichen Ordner 'PATH'
-Umgebungsvariablen c:\windows\system32
(komplett mit Neustart des Rechners) c:\windows\sysWoW64
Ordner (komplett mit Neustart der Maschine, dies sollte für 32 Bit dlls sein, aber ich habe es trotzdem versucht) Mein Code ist wie folgt:
%Vor%HINWEIS - Ich habe den ganzen Weg auch ohne Glück versucht. Ich erinnere mich daran zu haben das gleiche Problem mit Windows XP 32-Bit. Ich habe es funktioniert, kann aber nicht Erinnere dich daran, was ich getan habe: (
AKTUALISIEREN
Ich habe das Setup auf 32-Bit-Windows 7 getestet und alle DLLs im System32-Ordner installiert. Dies deutet darauf hin, dass ein Problem mit dem 64-Bit-Setup vorliegt. Könnte es sein, dass ich eine andere Version von MSVC brauche (ich glaube nicht, dass die Spatialite-Website sagt, was notwendig ist, damit ich vielleicht raten muss - ich habe MSVC2010 installiert)?
Ich hatte das gleiche Problem und es hat mich tagelang verwirrt. Ich verwende Python 2.6 (32-Bit) unter Windows 7 (x64), daher ist es möglicherweise nicht die gleiche Konfiguration wie bei Ihnen.
Folgendes können Sie ausprobieren (aus diesem Google Groups-Post ):
Die Probleme scheinen zu sein, dass Windows die dlls nicht von C: \ Windows \ system32 wegen der Benutzerberechtigungseinstellungen lädt.
Ich habe kürzlich einen Alptraum von einem x64 Build von Pyspatialite 3.0.1 und all seinen abhängigen Bibliotheken durchgemacht. Es kann gemacht werden, aber braucht ein paar "Optimierungen", um es richtig zu machen.
Beachten Sie zuerst die Problemumgehung, die zum Kompilieren von spatialite.c erforderlich ist:
Pyspatialite 3.0.1 Problem # 7 Kommentar # 3
Zweitens schlage ich vor, dass Sie mit MSVC 2008 / SDK 7.0 x64 kompilieren, womit Python 2.7 x64 kompiliert wird. Ich habe viel Ärger mit dem Versuch bekommen, Dinge kompilieren zu lassen, als ich die Abhängigkeits-Bibliotheken mit mingw-w64 kompiliert habe.
iconv (v. 1.9.2) und proj4 (v. 4.8.0) scheinen beide gut zu kompilieren und zu installieren; Sie können jedoch Probleme mit dem neuesten GEOS svn_trunk (v. 3.3.5) bekommen. Beachten Sie die folgenden Links für Problemumgehungen / Updates ...
Wenn Sie die zwei Makefiles von 577 herunterladen, enthalten sie das Update in 574.
Sie möchten auch einen der nächtlichen Snapshots herunterladen und das Verzeichnis geos / src / triangulate vor dem Kompilieren in Ihren Build-Ordner kopieren, da es im svn_trunk fehlt.
Schließlich möchten Sie eine kleine Änderung an geos / src / dirlist.mk vornehmen:
Fügen Sie in Zeile 45 'triangulate \' (keine Anführungszeichen) direkt unterhalb von 'simplify' und oberhalb von 'util' hinzu.
Wenn Sie jetzt kompilieren, sehen Sie möglicherweise einige Warnungen, aber der Build sollte nicht direkt fehlschlagen ...
%Vor%Das kümmert sich um Ihre Lib-Abhängigkeiten. Jetzt müssen Sie eines von zwei Dingen tun: 1. Erstellen Sie entweder eine setup.cfg-Datei in Ihrem pyspatialite-Build-Ordner und fügen Sie die Pfade / bin, / lib und / include hinzu, oder 2. Bearbeiten Sie die Datei pyspatialite setup.py direkt und machen Sie dasselbe.
Ich fand es am einfachsten, die Datei setup.py direkt zu bearbeiten und die Pfade zu den Abhängigkeits-Bibliotheken hinzuzufügen, um ähnlich zu sehen:
%Vor%Wenn nach diesen Änderungen pyspatialite immer noch nicht für Sie erstellt werden kann, nehmen Sie eine weitere Reihe von Änderungen an setup.py vor: Um Zeile 121 fügen Sie die folgenden Zeilen hinzu ...
%Vor%Denken Sie daran, die Pfade zu ersetzen, damit sie zu Ihrer speziellen Konfiguration passen. Das sollte es tun. Nachdem Sie 'python setup.py install' ausgeführt haben, sollte alles funktionieren.
Sie können alle Tests in ../Python27/Lib/site-packages/pyspatialite/test ausführen - sie alle bestanden für mich; Ein besserer, realistischerer Test könnte jedoch sein, den Beispielcode über diesen Link auszuführen:
Die Schritte, auf die der Autor eingeht, decken die Details nicht ab, um die Abhängigkeits-Bibliotheken in einer x64-Bit-Umgebung zu erhalten, und ich fand sie nicht besonders nützlich, da pyspatialite 3.0.1 nun automatisch die entsprechende Version von die Verschmelzung der Räumlichkeit zum Download. Der Beispielcode auf der Site erstellt eine Spatialite-Datenbankdatei und füllt sie mit Tausenden von Einträgen. Alles lief erfolgreich für mich; Daher glaube ich, dass die oben beschriebene Methode, um einen x64-Build von Pyspatialite zu erhalten, funktioniert.
Viel Glück!
-RMWChaos
Ich versuche die Spatialite Beta Version 3.0 zu benutzen, weil ich sie benutze Windows 7 auf einem 64-Bit-Rechner.
Ich bekomme immer den gefürchteten sqlite3.dll
Fehler, wenn ich versuche, zu laden
sqlite-dll-win32-x86-[version].zip
.
Ich habe Folgendes versucht:
mod_spatialite-[version]-win-x86.7z
und alle anderen DLLs in den gleichen Ordner sqlite3.dll
-Umgebungsvariablen sqlite3_old.dll
(komplett mit Neustart des Rechners) Mein Code ist wie folgt:
%Vor%HINWEIS - Ich habe den ganzen Weg auch ohne Glück versucht. Ich erinnere mich daran zu haben das gleiche Problem mit Windows XP 32-Bit. Ich habe es funktioniert, kann aber nicht Erinnere dich daran, was ich getan habe: (
AKTUALISIEREN
Ich habe das Setup auf 32-Bit-Windows 7 getestet und alle DLLs im System32-Ordner installiert. Dies deutet darauf hin, dass ein Problem mit dem 64-Bit-Setup vorliegt. Könnte es sein, dass ich eine andere Version von MSVC brauche (ich glaube nicht, dass die Spatialite-Website sagt, was notwendig ist, damit ich vielleicht raten muss - ich habe MSVC2010 installiert)?
Ich hatte das gleiche Problem und es hat mich tagelang verwirrt. Ich verwende Python 2.6 (32-Bit) unter Windows 7 (x64), daher ist es möglicherweise nicht die gleiche Konfiguration wie bei Ihnen.
Folgendes können Sie ausprobieren (aus diesem Google Groups-Post ):
Die Probleme scheinen zu sein, dass Windows die dlls nicht von C: \ Windows \ system32 wegen der Benutzerberechtigungseinstellungen lädt.
Die Version von %code% , die in Python enthalten ist, scheint nicht gut mit Spatialite spielen zu wollen. Das einzige, was ich zur Arbeit bringen konnte (kurz, alles aus der Quelle zu kompilieren) war:
Siehe diesen Blogbeitrag für weitere Informationen.
Ich habe das gelöst, indem ich die Anweisungen im letzten Post hier befolge. Mein System war, wie oben beschrieben, Win7 64bit mit 32-Bit-Spatialite-Bibliotheken und die Pysqlite-Bibliothek für Python. Ich verlinkte mit der sqlite3.dll in meinem DLLs-Verzeichnis (das ist das Python, das ArcGIS installiert, so leicht anders als bei anderen Installationen).
Dies löste das Problem mit dem Laden von Spatialite 4 dll über pysqlite.
Ich habe kürzlich einen Alptraum von einem x64 Build von Pyspatialite 3.0.1 und all seinen abhängigen Bibliotheken durchgemacht. Es kann gemacht werden, aber braucht ein paar "Optimierungen", um es richtig zu machen.
Beachten Sie zuerst die Problemumgehung, die zum Kompilieren von spatialite.c erforderlich ist:
Pyspatialite 3.0.1 Problem # 7 Kommentar # 3
Zweitens schlage ich vor, dass Sie mit MSVC 2008 / SDK 7.0 x64 kompilieren, womit Python 2.7 x64 kompiliert wird. Ich habe viel Ärger mit dem Versuch bekommen, Dinge kompilieren zu lassen, als ich die Abhängigkeits-Bibliotheken mit mingw-w64 kompiliert habe.
iconv (v. 1.9.2) und proj4 (v. 4.8.0) scheinen beide gut zu kompilieren und zu installieren; Sie können jedoch Probleme mit dem neuesten GEOS svn_trunk (v. 3.3.5) bekommen. Beachten Sie die folgenden Links für Problemumgehungen / Updates ...
Wenn Sie die zwei Makefiles von 577 herunterladen, enthalten sie das Update in 574.
Sie möchten auch einen der nächtlichen Snapshots herunterladen und das Verzeichnis geos / src / triangulate vor dem Kompilieren in Ihren Build-Ordner kopieren, da es im svn_trunk fehlt.
Schließlich möchten Sie eine kleine Änderung an geos / src / dirlist.mk vornehmen:
Fügen Sie in Zeile 45 'triangulate \' (keine Anführungszeichen) direkt unterhalb von 'simplify' und oberhalb von 'util' hinzu.
Wenn Sie jetzt kompilieren, sehen Sie möglicherweise einige Warnungen, aber der Build sollte nicht direkt fehlschlagen ...
%Vor%Das kümmert sich um Ihre Lib-Abhängigkeiten. Jetzt müssen Sie eines von zwei Dingen tun: 1. Erstellen Sie entweder eine setup.cfg-Datei in Ihrem pyspatialite-Build-Ordner und fügen Sie die Pfade / bin, / lib und / include hinzu, oder 2. Bearbeiten Sie die Datei pyspatialite setup.py direkt und machen Sie dasselbe.
Ich fand es am einfachsten, die Datei setup.py direkt zu bearbeiten und die Pfade zu den Abhängigkeits-Bibliotheken hinzuzufügen, um ähnlich zu sehen:
%Vor%Wenn nach diesen Änderungen pyspatialite immer noch nicht für Sie erstellt werden kann, nehmen Sie eine weitere Reihe von Änderungen an setup.py vor: Um Zeile 121 fügen Sie die folgenden Zeilen hinzu ...
%Vor%Denken Sie daran, die Pfade zu ersetzen, damit sie zu Ihrer speziellen Konfiguration passen. Das sollte es tun. Nachdem Sie 'python setup.py install' ausgeführt haben, sollte alles funktionieren.
Sie können alle Tests in ../Python27/Lib/site-packages/pyspatialite/test ausführen - sie alle bestanden für mich; Ein besserer, realistischerer Test könnte jedoch sein, den Beispielcode über diesen Link auszuführen:
Die Schritte, auf die der Autor eingeht, decken die Details nicht ab, um die Abhängigkeits-Bibliotheken in einer x64-Bit-Umgebung zu erhalten, und ich fand sie nicht besonders nützlich, da pyspatialite 3.0.1 nun automatisch die entsprechende Version von die Verschmelzung der Räumlichkeit zum Download. Der Beispielcode auf der Site erstellt eine Spatialite-Datenbankdatei und füllt sie mit Tausenden von Einträgen. Alles lief erfolgreich für mich; Daher glaube ich, dass die oben beschriebene Methode, um einen x64-Build von Pyspatialite zu erhalten, funktioniert.
Viel Glück!
-RMWChaos
Ich habe das gelöst, indem ich die Anweisungen im letzten Post hier befolge. Mein System war, wie oben beschrieben, Win7 64bit mit 32-Bit-Spatialite-Bibliotheken und die Pysqlite-Bibliothek für Python. Ich verlinkte mit der sqlite3.dll in meinem DLLs-Verzeichnis (das ist das Python, das ArcGIS installiert, so leicht anders als bei anderen Installationen).
Dies löste das Problem mit dem Laden von Spatialite 4 dll über pysqlite.
Tags und Links python sqlite spatialite