[gdal-dev] Running GDAL through Python >= 3.8 on Anaconda - DLL load failed

Joaquim Manuel Freire Luís jluis at ualg.pt
Wed Oct 13 07:24:53 PDT 2021


Hi,

I have a certain horror to python (that I’m trying to fight) a bit of it is because I never manage to really use it.

I had and older Miniconda (Mini => 18 GB !!!!) that was so big that I removed and installed a new one in which I tried Pedro’s case and got exactly the same errors.

I then run a dependency analysis from within the conda shell and found two weird things


  1.  The gdal dll depends on a xerces-c_3_2.dll locate at C:\WINDOWS\system32. This seems quite dangerous (for dependency sakes) but seems to not cause any problem in this case.
  2.  There is a “red mark” on the opj_encoder_set_extra_options symbol and this alone can explain the “ImportError: DLL load failed while importing _gdal: The specified procedure could not be found.”

Hopefully the screen capture is small enough to get through.

Joaquim

From: gdal-dev <gdal-dev-bounces at lists.osgeo.org> On Behalf Of Even Rouault
Sent: Wednesday, October 13, 2021 2:39 PM
To: Pedro Venâncio <pedrongvenancio at gmail.com>
Cc: gdal-dev at lists.osgeo.org
Subject: Re: [gdal-dev] Running GDAL through Python >= 3.8 on Anaconda - DLL load failed


ok, so now you have to inspect the PATH and fix it so that the gdal DLL and its dependencies are in it. But all of this sounds like there's something weird in your environment. Perhaps a mix of GDAL versions?
Le 13/10/2021 à 15:36, Pedro Venâncio a écrit :

Can you change in __init__.py

                try:
                    os.add_dll_directory(p)
                except FileNotFoundError:
                    continue



to

                try:
                    os.add_dll_directory(p)
                except (FileNotFoundError, OSError):
                    continue

Yes, here is the output:

Traceback (most recent call last):

  File "C:\Users\PedroVenancio\anaconda3\envs\arosics\lib\site-packages\osgeo\__init__.py", line 21, in swig_import_helper

    return importlib.import_module(mname)

  File "C:\Users\PedroVenancio\anaconda3\envs\arosics\lib\importlib\__init__.py", line 127, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import

  File "<frozen importlib._bootstrap>", line 991, in _find_and_load

  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 657, in _load_unlocked

  File "<frozen importlib._bootstrap>", line 556, in module_from_spec

  File "<frozen importlib._bootstrap_external>", line 1166, in create_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

ImportError: DLL load failed while importing _gdal: Impossível localizar o procedimento especificado.



During handling of the above exception, another exception occurred:



Traceback (most recent call last):

  File "demo.py", line 1, in <module>

    from osgeo import gdal

  File "C:\Users\PedroVenancio\anaconda3\envs\arosics\lib\site-packages\osgeo\__init__.py", line 37, in <module>

    _gdal = swig_import_helper()

  File "C:\Users\PedroVenancio\anaconda3\envs\arosics\lib\site-packages\osgeo\__init__.py", line 34, in swig_import_helper

    return importlib.import_module('_gdal')

  File "C:\Users\PedroVenancio\anaconda3\envs\arosics\lib\importlib\__init__.py", line 127, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

ModuleNotFoundError: No module named '_gdal'


--

http://www.spatialys.com

My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20211013/3c0fb17c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture-fs8.png
Type: image/png
Size: 54611 bytes
Desc: Capture-fs8.png
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20211013/3c0fb17c/attachment-0001.png>


More information about the gdal-dev mailing list