Fiona ImportError: Pemuatan DLL gagal


11

Saya telah menggunakan kombo Shapely / Fiona yang hebat dengan sukses di Linux, tetapi sekarang saya perlu membuat semacam lingkungan produksi di windows dan hanya ada satu masalah. Ketika saya mencoba mengimpor fiona, saya mendapatkan kesalahan berikut:

Impor kesalahan DLL

jika saya mencoba untuk memeriksa dependance dari ogrext.pdy menggunakan dependancy walker, sepertinya ia mencoba memuat GDAL versi 1.10 dll dan gagal. Anehnya, saya telah menginstal GDAL 1.9.2 dan tampaknya mengimpor ke python tanpa masalah (dari osgeo import gdal). Jadi mungkin itu bahkan tidak terkait dengan masalah impor fiona. Juga, saya 100% saya mengunduh installer fiona untuk python 2.7 karena saya tahu masalah dapat muncul jika Anda menggunakan file .pyd yang ditujukan untuk versi python yang berbeda.

Catatan, saya menggunakan instalasi mandiri python 2.7.5, tanpa menggunakan installer osgeo4w.


Jika perlu GDAL 1.10 dan Anda hanya memiliki 1.9 yang tidak akan berfungsi
Nathan W

Hmmm, mencoba dengan 1,10 barusan, cerita yang sama
U2ros

@sgillies seharusnya ada di suatu tempat. Dia mungkin bisa membantu.
Nathan W

Tampaknya masalah serupa muncul dengan versi osx dari fiona beberapa versi kembali, ada hubungannya dengan jalur GDAL, saya akan bermain-main lagi ...
U2ros

3
Saya tidak menggunakan Windows, tapi saya akan mencoba installer Fiona di lfd.uci.edu/~gohlke/pythonlibs/#fiona bersama-sama dengan installer GDAL: lfd.uci.edu/~gohlke/pythonlibs/#gdal .
sgillies

Jawaban:


4

Masalah yang sedang berlangsung ini dulu disebabkan oleh Fiona yang tidak kompatibel dengan GDAL, tetapi Fiona telah diperbarui, sehingga jawaban di bawah ini mungkin lebih relevan.

Fiona 1.8.9 mendukung GDAL 3.0

Dokumentasi:

Modul shim dan dukungan untuk GDAL 3.0 telah ditambahkan. Paket sekarang dapat dibangun dan digunakan dengan GDAL 3.0 dan PROJ 6.1 atau 6.2. Perhatikan bahwa roda 1.8.9 yang akan kami unggah ke PyPI akan berisi GDAL 2.4.2 dan PROJ 4.9.3 seperti pada roda 1.8.8.


2

Saya memiliki masalah yang sama persis setelah menginstal GDAL dengan metode yang dijelaskan dalam Cara menjalankan OGR dalam Skrip ArcGIS? (termasuk mengatur variabel lingkungan). Saya tidak yakin apakah itu tidak berfungsi, tetapi apakah itu didasarkan pada GDAL versi 1.11 lama, atau binding Python 2.7 yang mungkin tidak berfungsi dengan baik.

Saya memperbaikinya dengan mengikuti langkah-langkah di atas, terutama dengan mengunduh versi GDAL 2.1 terbaru dari http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Dengan menginstal paket dengan pip, versi GDAL lama telah dihapus dan diganti dengan yang terbaru. Setelah me-restart IDE, saya bisa mengimpor gdal dan fiona tanpa kesalahan.


2

sunting 202202021:

tidak yakin seberapa relevan ini sekarang, tetapi memasang kembali tautan lama dengan tautan yang berfungsi.

Saya punya masalah ini tadi malam. Untuk memperbaikinya, pastikan Anda:

  1. Memiliki Pustaka GDAL (instal .msi inti, lalu binding python .msi)
  2. Atur variabel lingkungan GDAL .

Saya pikir hanya itu yang saya lakukan. Jika tidak berhasil beri tahu saya dan saya akan menyelidiki lebih lanjut.

old1 old2


2
Kedua hyperlink sudah usang --404 tidak ditemukan--
jberrio

1

Saya memiliki masalah yang persis sama. Anda perlu menggunakan paket GDAL dari http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Sayangnya itu gdal 1.1. lih. http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806


1.10 tidak pernah dari 1,9
U2ros

1
Oke, komentar penting !: Saya masih punya masalah dengan ini di beberapa komputer ... mengapa? Karena saya tidak membaca teks! Di header situs, ada peringatan tentang ketergantungan ... dan pada komputer yang tidak berfungsi, saya kehilangan visual c ++ yang dapat didistribusikan!
U2ros

1

Pertanyaan lama tetapi meninggalkan ini di sini untuk orang lain yang tersandung di atasnya:

Geoff Boeing menulis tutorial yang bagus tentang cara menginstal perpustakaan geopanda, yang membahas instalasi fiona (serta perpustakaan lain seperti shapely, gdal, pyproj ...). Tutorialnya ada di sini: http://geoffboeing.com/2014/09/using-geopandas-windows/

Langkah yang membuat saya tersandung adalah bahwa saya memiliki instalasi osgeo previoes (saya pikir dari menginstal postGIS) dan itu tidak bermain baik dengan file roda dari http://www.lfd.uci.edu/ ~ gohlke/pythonlibs/# fiona

Menghapus instalan semua pustaka terkait dan kemudian membangun secara eksklusif dari file roda itu memperbaiki kesalahan impor DLL untuk saya (menggunakan windows 10)


1

Seperti yang lain, izinkan saya berbagi pengalaman saya dengan memecahkan masalah ini bagi mereka yang masih berjuang dengan itu di Windows dan yang memiliki versi python & gdal yang sama.

Dalam kasus saya, saya mendapatkan ImportError: DLL load failed: The specified module could not be foundkesalahan setelah menginstal geopanda (versi 0.6.2) dengan conda dan python 3.7.3 , dan ketika mencoba mengimpor gdal (versi 3.0.2) dan fiona (versi 1.8.11) . Saya menggunakan Windows 10 (versi 1709).

Setelah mencoba berbagai solusi yang diusulkan tanpa hasil (pada dasarnya mengikuti panduan Geoff Boeing untuk menginstal geopanda di Windows dan menginstal roda GDAL Christoph Gohlke ), yang tampaknya membuatnya bekerja untuk saya adalah menginstal Microsoft Visual C ++ yang dapat didistribusikan kembali untuk Visual Studio 2015, 2017 dan 2019 sebagai ditunjukkan oleh Gohlke di header halamannya dan seperti yang disebutkan oleh @ U2ros .

Jadi tidak perlu menginstal roda Gohlke; Anda bisa menggunakan conda atau pip untuk menginstal fiona dan geopanda. Dan seperti yang ditunjukkan dalam pembaruan untuk jawaban ini , GDAL versi 3 memang didukung oleh fiona (versi 1.8.9+).


0

Saya melihat pertanyaan ini telah dijawab berkali-kali, tetapi saya ingin berbagi pengalaman saya menyelesaikan masalah, untuk orang-orang yang memiliki masalah yang sama dengan versi python yang sama dan sampai pada pertanyaan ini.

Saya juga mengalami beberapa masalah ketika saya menginstal fiona dan mencoba mengimpornya. Saya punya pesan seperti ini

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

Bagaimana cara kerjanya untuk saya pada akhirnya?

  • Saya menginstal distribusi GDAL 2.2.4 dan Fiona dari tautan ini
  • Kemudian saya memeriksa apakah komputer saya memiliki c ++ compiler untuk python (di sini terhubung dengan beberapa informasi tentang yang mana Anda mungkin perlu menginstal). Dalam beberapa pertanyaan forum saya membaca bahwa GDAL membutuhkan kompiler ini untuk dapat bekerja.
  • Kemudian saya menambahkan path folder Osgeo (ada dll untuk fiona) ke variabel path environment saya, beberapa foto dari pc saya Print screen 1 Print screen 2

Setelah melakukan langkah-langkah itu saya tidak pernah memiliki masalah dengan fiona. Pada awalnya, saya menggunakan versi GDAL 1.1.4 tetapi tidak pernah berhasil dengan yang satu ini. Anda dapat mencoba dulu dengan versi satu, dan jika tidak berhasil maka instal versi 2.2.4

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.