Fiona ImportError: помилка завантаження DLL


11

Я успішно використовую великий комбінат Shapely / Fiona в Linux, але тепер мені потрібно створити своєрідне виробниче середовище для Windows і є лише одна проблема. Коли я намагаюся імпортувати fiona, я отримую таку помилку:

Імпорт помилки DLL

якщо я спробую перевірити залежності залежань від ogrext.pdy за допомогою прогулянкової залежності, здається, вона намагається завантажити dll версії 1.10 і не виходить з ладу. Як не дивно, у мене встановлений GDAL 1.9.2, і він, здається, імпортує в python без проблем (від osgeo import gdal). Тож, можливо, це навіть не пов'язане з питанням імпорту фірми "Фіона". Крім того, я на 100% завантажив інсталятор fiona для python 2.7, оскільки я знаю, що проблеми можуть виникнути, якщо ви використовуєте .pyd файли, призначені для іншої версії python.

Зауважте, що я використовую окрему установку python 2.7.5, не використовуючи програму встановлення osgeo4w.


Якщо йому потрібен GDAL 1.10, а у вас є лише 1.9, що не буде працювати
Nathan W

Гммм, спробували з 1.10 просто зараз, та сама історія
U2ros

@sgillies десь десь буде. Він може допомогти.
Nathan W

Здається, що аналогічна проблема виникла з версією Osx для версії
Fiona, якась спільна

3
Я не використовую Windows, але я б спробував встановити програму Fiona за адресою lfd.uci.edu/~gohlke/pythonlibs/#fiona разом із інсталяторами GDAL: lfd.uci.edu/~gohlke/pythonlibs/#gdal .
sgillies

Відповіді:


4

Це постійне питання було викликано тим, що Fiona не сумісна з GDAL, але Fiona була оновлена, тому відповіді нижче можуть бути більш актуальними.

Fiona 1.8.9 підтримує GDAL 3.0

Документація:

Доданий модуль shim та підтримка GDAL 3.0. Тепер пакет може бути складений та використаний з GDAL 3.0 та PROJ 6.1 або 6.2. Зауважте, що колеса 1.8.9, які ми завантажимо в PyPI, будуть містити GDAL 2.4.2 та PROJ 4.9.3, як і колеса 1.8.8.


2

У мене була та сама проблема після встановлення GDAL методом, поясненим у розділі Як запустити OGR в скриптах ArcGIS? (включаючи встановлення змінних середовища). Я не впевнений, чи не спрацював він, але або він базувався на старій версії 1.11 GDAL, або на прив'язках Python 2.7, які, можливо, не працювали належним чином.

Я виправив це, дотримуючись наведених вище кроків, особливо завантаживши останню версію GDAL версії 2.1 з http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Встановивши пакет по pip, стару версію GDAL було видалено та замінено на останню. Після перезавантаження IDE я можу імпортувати gdal і fiona без будь-яких помилок.


2

редагувати 202202021:

не знаючи, наскільки це зараз актуально, але знову знайшли старі зв’язки з робочими.

У мене була ця проблема лише минулої ночі. Щоб виправити це, переконайтесь, що:

  1. Майте бібліотеки GDAL (встановіть серцевину .msi, потім прив'язки python .msi)
  2. Налаштування змінних середовища GDAL .

Я думаю, що це було все, що я робив. Якщо це не допоможе, дайте мені знати, і я буду далі розслідувати.

old1 old2


2
Обидві гіперпосилання застарілі - 404 не
знайдено--

1

У мене точно така ж проблема. Вам потрібно використовувати пакет GDAL від http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . На жаль, це gdal 1.1. пор. http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806


1.10 ніколи не перевищує 1,9
U2ros

1
Гаразд, важливий коментар !: У мене ще були проблеми з цим на деяких комп’ютерах ... чому? Тому що я не читаю текст! У заголовку сайту міститься попередження про залежності ... і на комп’ютерах, де це не працює, мені не вистачало візуальних перерозподілів c ++!
U2ros

1

Старе питання, але залишати це для всіх, хто натрапляє на нього:

Джефф Боїнг написав чудовий посібник про те, як встановити бібліотеку geopandas, яка передує встановлення fiona (а також інших бібліотек, таких як shapely, gdal, pyproj ...). Підручник розміщено тут: http://geoffboeing.com/2014/09/using-geopandas-windows/

Крок, який мене змусив, - це те, що у мене була встановлена ​​програма pregees osgeo (я думаю, що встановити postGIS), і це не добре грати з колісними файлами з http://www.lfd.uci.edu/~gohlke/pythonlibs/# Фіона

Видалення всіх пов’язаних бібліотек та побудова виключно з цих колісних файлів виправили помилку імпорту DLL (використовуючи Windows 10)


1

Як і інші, дозвольте мені поділитися своїм досвідом вирішення цієї проблеми для тих, хто все ще бореться з нею в Windows і хто має ті самі версії python & gdal.

У моєму випадку я отримав ImportError: DLL load failed: The specified module could not be foundпомилку після установки геопанд (версія 0.6.2) з conda та python 3.7.3 , а також при спробі імпортувати як gdal (версія 3.0.2), так і fiona (версія 1.8.11) . Я в Windows 10 (версія 1709).

Спробувавши різні пропоновані рішення без успіху ( по суті наступне керівництво Джефа Боїнга до установки geopandas на Windows , і установка GDAL Крістофа Gohlke в колеса ), що , здавалося, зробити його роботу для мене була установка Microsoft Visual C ++ Redistributable для Visual Studio 2015 2017 і 2019 , як вказаний Голке в заголовку своєї сторінки і як згадує @ U2ros .

Тому не потрібно встановлювати колеса Гольке; ви можете просто використовувати conda або pip для встановлення фіони та геопанд. І як зазначено в оновленнях до цієї відповіді , версія GDAL 3 дійсно підтримується fiona (версії 1.8.9+).


0

Я бачу, що на це питання відповіли багато разів, але я хочу поділитися своїм досвідом вирішення проблеми для людей, які мали ту саму проблему з тією ж версією python, і приходять до цього питання.

У мене також були деякі проблеми, коли я встановив Fiona і намагався імпортувати її. У мене було таке повідомлення

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

Як це працювало для мене наприкінці?

  • Я встановив дистрибутиви GDAL 2.2.4 та Fiona за цим посиланням
  • Потім я перевірив, чи є на моєму комп’ютері компілятор c ++ для python ( тут посилання з деякою інформацією про те, який з них вам може знадобитися встановити). У деяких питаннях форумів я читаю, що GDAL потрібен цей компілятор, щоб мати можливість працювати.
  • Потім я додав шлях до папки Osgeo (є dlls для fiona) до моєї змінної середовища шляху, деякі фотографії з мого ПК Екран друку 1 Екран друку 2

Зробивши ці кроки, у мене більше не було проблем з Фіоною. Спочатку я використовував GDAL версії 1.1.4, але з цим ніколи не працював. Ви можете спробувати спочатку з першою версією, а якщо вона не працює, встановіть версію 2.2.4

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.