Fiona ImportError: Das Laden der DLL ist fehlgeschlagen

10

Ich habe die großartige Shapely / Fiona-Kombination erfolgreich unter Linux verwendet, aber jetzt muss ich eine Art Produktionsumgebung unter Windows erstellen, und es gibt nur ein Problem. Wenn ich versuche, fiona zu importieren, erhalte ich den folgenden Fehler:

DLL-Fehler importieren

Wenn ich versuche, die Abhängigkeiten der Datei ogrext.pdy mit dem Abhängigkeits-Walker zu überprüfen, scheint es, als würde versucht, die GDAL-Version 1.10-DLL zu laden, und dies schlägt fehl. Seltsamerweise habe ich GDAL 1.9.2 installiert und es scheint ohne Probleme in Python zu importieren (von osgeo import gdal). Vielleicht hängt es nicht einmal mit dem Fiona-Importproblem zusammen. Außerdem habe ich zu 100% das Fiona-Installationsprogramm für Python 2.7 heruntergeladen, da ich weiß, dass Probleme auftreten können, wenn Sie .pyd-Dateien verwenden, die für eine andere Version von Python bestimmt sind.

Beachten Sie, dass ich eine eigenständige Installation von Python 2.7.5 verwende, ohne das osgeo4w-Installationsprogramm zu verwenden.

U2ros
quelle
Wenn es GDAL 1.10 benötigt und Sie nur 1.9 haben, wird das nicht funktionieren
Nathan W
Hmmm, gerade mit 1.10 versucht, gleiche Geschichte
U2ros
@sgillies sollte irgendwo in der Nähe sein. Er könnte helfen können.
Nathan W
Scheint, dass ein ähnliches Problem mit der OSX-Version von Fiona vor einigen Versionen aufgetreten ist, etwas, das mit GDAL-Pfaden zu tun hat. Ich werde noch ein
bisschen herumspielen
3
Ich verwende kein Windows, aber ich würde die Fiona-Installationsprogramme unter lfd.uci.edu/~gohlke/pythonlibs/#fiona zusammen mit den GDAL-Installationsprogrammen ausprobieren : lfd.uci.edu/~gohlke/pythonlibs/#gdal .
Sgillies

Antworten:

4

Dieses anhaltende Problem wurde früher dadurch verursacht, dass Fiona nicht mit GDAL kompatibel war. Fiona wurde jedoch aktualisiert, sodass die folgenden Antworten möglicherweise relevanter sind.

Fiona 1.8.9 unterstützt GDAL 3.0

Dokumentation:

Ein Shim-Modul und Unterstützung für GDAL 3.0 wurden hinzugefügt. Das Paket kann jetzt mit GDAL 3.0 und PROJ 6.1 oder 6.2 erstellt und verwendet werden. Beachten Sie, dass die 1.8.9-Räder, die wir auf PyPI hochladen, GDAL 2.4.2 und PROJ 4.9.3 enthalten, wie in den 1.8.8-Rädern.

Mattijn
quelle
2

Ich hatte genau das gleiche Problem nach der Installation von GDAL mit der unter Ausführen von OGR in ArcGIS-Skripten erläuterten Methode . (einschließlich der Einstellung der Umgebungsvariablen). Ich bin nicht sicher, ob es nicht funktioniert hat, aber entweder basierte es auf der alten GDAL-Version 1.11 oder den Python 2.7-Bindungen, die möglicherweise nicht richtig funktionierten.

Ich habe das Problem behoben, indem ich die obigen Schritte ausgeführt habe, insbesondere indem ich die neueste GDAL-Version 2.1 von http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal heruntergeladen habe . Durch die Installation des Pakets per Pip wurde die alte GDAL-Version gelöscht und durch die neueste ersetzt. Nach dem Neustart der IDE konnte ich gdal und fiona fehlerfrei importieren.

Joram Schito
quelle
2

bearbeiten 202202021:

unsicher, wie relevant dies jetzt ist, aber alte Verbindungen mit funktionierenden wieder hergestellt.

Ich hatte dieses Problem erst letzte Nacht. Um dies zu beheben, stellen Sie Folgendes sicher:

  1. Haben Sie die GDAL-Bibliotheken (installieren Sie die Kern-MSI, dann die Python-Bindungen MSI)
  2. Richten Sie die GDAL- Umgebungsvariablen ein.

Ich denke das war alles was ich getan habe. Wenn es nicht funktioniert, lass es mich wissen und ich werde es weiter untersuchen.

old1 old2

CoreyJames
quelle
2
Beide Hyperlinks sind veraltet - 404 nicht gefunden
jberrio
1

Ich habe genau das gleiche Problem. Sie müssen das GDAL-Paket von http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal verwenden . Leider ist es gdal 1.1. vgl. http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806

Alban
quelle
1.10 ist nie als 1.9
U2ros
1
Okay, wichtiger Kommentar!: Ich hatte auf einigen Computern immer noch Probleme damit ... warum? Weil ich keinen Text lese! Im Site-Header gibt es eine Warnung vor Abhängigkeiten ... und auf Computern, auf denen es nicht funktioniert hat, fehlten mir visuelle c ++ - Weiterverteilbarkeit!
U2ros
1

Alte Frage, aber lassen Sie dies hier für alle anderen, die darüber stolpern:

Geoff Boeing hat ein großartiges Tutorial zur Installation der Geopandas-Bibliothek geschrieben, das sich mit der Installation von Fiona (sowie anderen Bibliotheken wie Shapely, GDAL, Pyproj ...) befasst. Das Tutorial befindet sich hier: http://geoffboeing.com/2014/09/using-geopandas-windows/

Der Schritt, der mich auslöste, war, dass ich eine vorherige Osgeo-Installation hatte (ich denke von der Installation von PostGIS) und es nicht gut mit den Raddateien von http://www.lfd.uci.edu/~gohlke/pythonlibs/# spielte Fiona

Durch Deinstallieren aller zugehörigen Bibliotheken und anschließendes Erstellen ausschließlich aus diesen Raddateien wurde der DLL-Importfehler für mich behoben (unter Windows 10).

wmebane
quelle
1

Lassen Sie mich wie andere meine Erfahrungen mit der Lösung dieses Problems für diejenigen teilen, die unter Windows immer noch Probleme damit haben und dieselben Python- und GDAL-Versionen haben.

In meinem Fall wurde der ImportError: DLL load failed: The specified module could not be foundFehler nach der Installation von Geopandas (Version 0.6.2) mit Conda und Python 3.7.3 und beim Versuch, sowohl gdal (Version 3.0.2) als auch fiona (Version 1.8.11) zu importieren, angezeigt . Ich bin unter Windows 10 (Version 1709).

Nachdem ich verschiedene vorgeschlagene Lösungen erfolglos ausprobiert hatte (im Wesentlichen gemäß Geoff Boeings Anleitung zur Installation von Geopandas unter Windows und zur Installation der GDAL- Räder von Christoph Gohlke ), schien es für mich die Installation von Microsoft Visual C ++ Redistributable für Visual Studio 2015, 2017 und 2019 als zu funktionieren angegeben von Gohlke in der Kopfzeile seiner Seite und wie von @ U2ros erwähnt .

Es ist also nicht nötig, Gohlkes Räder einzubauen. Sie können einfach Conda oder Pip verwenden, um Fiona und Geopandas zu installieren. Und wie im Update dieser Antwort angegeben , wird GDAL Version 3 tatsächlich von fiona (Versionen 1.8.9+) unterstützt.

onietosi
quelle
0

Ich sehe, dass diese Frage oft beantwortet wurde, aber ich möchte meine Erfahrungen mit der Lösung des Problems für die Leute teilen, die das gleiche Problem mit der gleichen Python-Version hatten und zu dieser Frage kommen.

Ich hatte auch einige Probleme, als ich fiona installierte und versuchte, es zu importieren. Ich hatte diese Art von Nachricht

>>> import fiona
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Software\Ingenieria\Anaconda2\lib\site-packages\fiona\__init__.py", l
ine 77, in <module>
    from fiona.collection import Collection, BytesCollection, vsi_path
  File "D:\Software\Ingenieria\Anaconda2\lib\site-packages\fiona\collection.py",
 line 9, in <module>
    from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
ImportError: DLL load failed: The specified module could not be found.

Wie hat es am Ende bei mir funktioniert?

  • Ich habe die Distributionen GDAL 2.2.4 und Fiona über diesen Link installiert
  • Dann habe ich überprüft, ob mein Computer einen C ++ - Compiler für Python hat ( hier Link mit einigen Informationen darüber, welchen Sie möglicherweise installieren müssen). In einigen Forenfragen habe ich gelesen, dass GDAL diesen Compiler benötigt, um arbeiten zu können.
  • Dann habe ich den Pfad des Osgeo-Ordners (es gibt die DLLs für fiona) zu meiner Pfadumgebungsvariablen hinzugefügt, einige Bilder von meinem PC. Druckbildschirm 1 Druckbildschirm 2

Nachdem ich diese Schritte gemacht hatte, hatte ich nie mehr Probleme mit Fiona. Zuerst habe ich die GDAL-Version 1.1.4 verwendet, aber mit dieser hat es nie funktioniert. Sie können es zuerst mit der ersten Version versuchen. Wenn dies nicht funktioniert, installieren Sie die Version 2.2.4

Yiyi
quelle