Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#598 closed defect (fixed)

Fiona can't be imported into python37, DLL error

Reported by: Andreas Müller Owned by: osgeo4w-dev@…
Priority: major Component: Package
Version: Keywords: python3 fiona geopandas gdal
Cc:

Description

i falsely posted this on issues.qgis.org, and i think it should be addressed here:

I installed fiona along with qgis3 and python3 via osgeo4w-setup.exe but it throws an exeption:

    C:\OSGeo4W>python3
    Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Inte
    l)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import fiona
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "C:\OSGeo4W\apps\Python37\lib\site-packages\fiona\__init__.py", line 87,
    in <module>
    from fiona.collection import BytesCollection, Collection
    File "C:\OSGeo4W\apps\Python37\lib\site-packages\fiona\collection.py", line 9,
    in <module>
    from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
    ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

This is often reported as a version conflict with gdal.

Change History (6)

comment:1 by Andreas Müller, 5 years ago

dependency walker tells me, it searches for gdal203.dll, which also could be found as a string inside .pyd files for fiona. So I checked, but it seems we never had this version of gdal in osgeo4w. <= EDIT: I misinterpreted package names, so gdal2.3.x contains gdal203.dll. Also, changing strings inside .pyd files solves the error, may be a workaround...

Last edited 5 years ago by Andreas Müller (previous) (diff)

comment:2 by jef, 5 years ago

There is also a transitional package gdal203dll.

comment:3 by Andreas Müller, 5 years ago

i tried, but i got the same error, may be that gdal203 has unresolved dependencies. DependencyWalker tells now that hdf_fw.dll and mfhwf_fw.dll is missing. Hdf_fw.dll was definitely present in former installs though.

comment:4 by Andreas Müller, 5 years ago

I came across this issue again and now tried both osgeo4w64 and osgeo4w(32). I installed fiona along with gdal203 "et voila": It works with the 64-bit version but fails with 32-bit one.

This is the error i got in the python shell:

>>> import fiona
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\OSGeo4W\apps\Python37\lib\site-packages\fiona\__init__.py", line 87, in <module>
    from fiona.collection import BytesCollection, Collection
  File "C:\OSGeo4W\apps\Python37\lib\site-packages\fiona\collection.py", line 9, in <module>
    from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

Also it would be nice, if gdal203dll would be in "requires" of fiona.

comment:5 by jef, 5 years ago

Resolution: fixed
Status: newclosed
  • [x86] added "new" hdf420dll-4.2.0r3-1 with DLLs from old hdf4-4.2.0r3-4
  • [x86] added dependency hdf420dll to gdal202dll and gdal203dll
  • added dependency gdal202dll to python-fiona
  • added dependency gdal203dll to python3-fiona

comment:6 by Andreas Müller, 5 years ago

Thank you very much!

Note: See TracTickets for help on using tickets.