Fiona ImportError: échec du chargement de la DLL

11

J'ai utilisé le grand combo Shapely / Fiona avec succès sur Linux, mais maintenant j'ai besoin de créer une sorte d'environnement de production sur Windows et il n'y a qu'un seul problème. Lorsque j'essaie d'importer fiona, j'obtiens l'erreur suivante:

Erreur d'importation de DLL

si j'essaie de vérifier les dépendances du ogrext.pdy en utilisant le marcheur de dépendance, il semble qu'il essaie de charger la DLL GDAL version 1.10 et échoue. Curieusement, j'ai installé GDAL 1.9.2 et il semble importer en python sans problème (depuis osgeo import gdal). Alors peut-être que ce n'est même pas lié au problème d'importation de fiona. De plus, à 100%, j'ai téléchargé le programme d'installation de fiona pour python 2.7 car je sais que des problèmes peuvent survenir si vous utilisez des fichiers .pyd destinés à une version différente de python.

Notez que j'utilise une installation autonome de python 2.7.5, sans utiliser le programme d'installation osgeo4w.

U2ros
la source
S'il a besoin de GDAL 1.10 et que vous n'en avez que 1.9 qui ne fonctionnera pas
Nathan W
Hmmm, essayé avec 1.10 tout à l'heure, même histoire
U2ros
@sgillies devrait être quelque part. Il pourrait peut-être aider.
Nathan W
Il semble qu'un problème similaire soit survenu avec la version osx de fiona, un couple de versions en arrière, quelque chose à voir avec les chemins GDAL, je vais jouer encore plus ...
U2ros
3
Je n'utilise pas Windows, mais j'essaierais les programmes d'installation Fiona à lfd.uci.edu/~gohlke/pythonlibs/#fiona avec les programmes d'installation GDAL: lfd.uci.edu/~gohlke/pythonlibs/#gdal .
sgillies

Réponses:

4

Ce problème continu était dû au fait que Fiona était incompatible avec GDAL, mais Fiona a été mis à jour, donc les réponses ci-dessous peuvent être plus pertinentes.

Fiona 1.8.9 prend en charge GDAL 3.0

Documentation:

Un module shim et la prise en charge de GDAL 3.0 ont été ajoutés. Le package peut maintenant être construit et utilisé avec GDAL 3.0 et PROJ 6.1 ou 6.2. Notez que les roues 1.8.9 que nous téléchargerons sur PyPI contiendront GDAL 2.4.2 et PROJ 4.9.3 comme dans les roues 1.8.8.

Mattijn
la source
2

J'ai eu exactement le même problème après l'installation de GDAL par la méthode expliquée dans Comment exécuter OGR dans ArcGIS Scripts? (y compris la définition des variables d'environnement). Je ne sais pas si cela n'a pas fonctionné, mais soit il était basé sur l'ancienne version 1.11 de GDAL, soit sur les liaisons Python 2.7 qui ne fonctionnaient peut-être pas correctement.

Je l'ai corrigé en suivant les étapes ci-dessus, en particulier en téléchargeant la dernière version GDAL 2.1 depuis http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . En installant le package par pip, l'ancienne version de GDAL a été supprimée et remplacée par la dernière. Après avoir redémarré l'IDE, j'ai pu importer gdal et fiona sans aucune erreur.

Joram Schito
la source
2

modifier 202202021:

Je ne sais pas à quel point cela est pertinent, mais j'ai rétabli les anciens liens avec ceux qui fonctionnent.

J'ai eu ce problème hier soir. Pour y remédier, assurez-vous de:

  1. Avoir les bibliothèques GDAL (installez le core .msi, puis les liaisons python .msi)
  2. Configurez les variables d'environnement GDAL .

Je pense que c'est tout ce que j'ai fait. Si cela ne fonctionne pas, faites-le moi savoir et je poursuivrai mes recherches.

old1 old2

CoreyJames
la source
2
Les deux hyperliens sont obsolètes --404 introuvable
jberrio
1

J ai exactement le même problème. Vous devez utiliser le package GDAL à partir de http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Malheureusement, c'est gdal 1.1. cf. http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806

Alban
la source
1.10 n'est jamais que 1.9
U2ros
1
D'accord, commentaire important!: J'ai toujours eu des problèmes avec cela sur certains ordinateurs ... pourquoi? Parce que je ne lis pas de texte! Dans l'en-tête du site, il y a un avertissement sur les dépendances ... et sur les ordinateurs où cela ne fonctionnait pas, il me manquait des redistribuables visuels c ++!
U2ros
1

Vieille question, mais en laissant cela ici à toute personne qui tombe dessus:

Geoff Boeing a écrit un excellent tutoriel sur la façon d'installer la bibliothèque de géopandas, qui passe en revue l'installation de fiona (ainsi que d'autres bibliothèques comme shapely, gdal, pyproj ...). Le tutoriel se trouve ici: http://geoffboeing.com/2014/09/using-geopandas-windows/

L'étape qui m'a fait trébucher, c'est que j'avais une installation précédente d'osgeo (je pense à partir de l'installation de postGIS) et qu'elle ne jouait pas bien avec les fichiers de roue de http://www.lfd.uci.edu/~gohlke/pythonlibs/# fiona

La désinstallation de toutes les bibliothèques associées, puis la construction exclusivement à partir de ces fichiers de roue, a corrigé l'erreur d'importation de DLL pour moi (à l'aide de Windows 10)

wmebane
la source
1

Comme d'autres, permettez-moi de partager mon expérience avec la résolution de ce problème pour ceux qui ont encore du mal avec Windows et qui ont les mêmes versions python et gdal.

Dans mon cas, j'ai eu l' ImportError: DLL load failed: The specified module could not be founderreur après l'installation de géopandas (version 0.6.2) avec conda et python 3.7.3 , et lorsque j'ai essayé d'importer à la fois gdal (version 3.0.2) et fiona (version 1.8.11) . Je suis sur Windows 10 (version 1709).

Après avoir essayé différentes solutions proposées sans succès (essentiellement en suivant le guide de Geoff Boeing sur l'installation de géopandas sur Windows et l'installation des roues GDAL de Christoph Gohlke ), ce qui semblait le faire fonctionner pour moi était d'installer Microsoft Visual C ++ Redistributable pour Visual Studio 2015, 2017 et 2019 comme indiqué par Gohlke dans l'en-tête de sa page et comme mentionné par @ U2ros .

Donc pas besoin d'installer les roues de Gohlke; vous pouvez simplement utiliser conda ou pip pour installer des fiona et des géopandas. Et comme indiqué dans la mise à jour de cette réponse , GDAL version 3 est en effet supporté par fiona (versions 1.8.9+).

onietosi
la source
0

Je vois que cette question a été répondue plusieurs fois, mais je veux partager mon expérience en résolvant le problème, pour les personnes qui ont eu le même problème avec la même version de python et qui viennent à cette question.

J'ai également eu quelques problèmes lorsque j'ai installé fiona et essayé de l'importer. J'avais ce genre de message

>>> 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.

Comment cela a-t-il fonctionné pour moi à la fin?

  • J'ai installé les distributions GDAL 2.2.4 et Fiona à partir de ce lien
  • Ensuite, j'ai vérifié si mon ordinateur avait un compilateur c ++ pour python ( lien ici avec quelques informations sur celui que vous pourriez avoir besoin d'installer). Dans certains forums, j'ai lu que GDAL avait besoin de ce compilateur pour fonctionner.
  • Ensuite, j'ai ajouté le chemin du dossier Osgeo (il y a les DLL pour fiona) à ma variable d'environnement de chemin, quelques photos de mon PC Écran d' impression 1 Écran d'impression 2

Après avoir fait ces étapes, je n'ai plus eu de problèmes avec fiona. Au début, j'utilisais la version 1.1.4 de GDAL mais cela n'a jamais fonctionné avec celle-ci. Vous pouvez essayer d'abord avec la version 1, et si cela ne fonctionne pas, installez la version 2.2.4

Yiyi
la source