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

Pedro Venâncio pedrongvenancio at gmail.com
Wed Oct 13 09:15:02 PDT 2021


I will ask on GDAL conda-forge, maybe this can be some packaging problem.

Thanks!


Pedro Venâncio <pedrongvenancio at gmail.com> escreveu no dia quarta,
13/10/2021 à(s) 17:00:

> Tried to define several environment variables, but nothing seems to work
>
> [image: env_win10.jpg]
>
>
> Joaquim Manuel Freire Luís <jluis at ualg.pt> escreveu no dia quarta,
> 13/10/2021 à(s) 16:23:
>
>> Não Pedro,
>>
>>
>>
>> When I look into my own build of the gdall dll I see no dependency on
>> that “opj_encoder_set_extra_options” but likely because it’s a different
>> version (I build from master).
>>
>>
>>
>> From my experience on this there is really nothing one can do other than
>> rebuild the dll or replace the dependency that is missing the required
>> symbol. Nothing we can do from a conda installation.
>>
>>
>>
>> But ofc my analysis may be all wrong.
>>
>>
>>
>> Joaquim
>>
>>
>>
>> *From:* gdal-dev <gdal-dev-bounces at lists.osgeo.org> *On Behalf Of *Pedro
>> Venâncio
>> *Sent:* Wednesday, October 13, 2021 4:04 PM
>> *To:* gdal-dev at lists.osgeo.org
>> *Subject:* Re: [gdal-dev] Running GDAL through Python >= 3.8 on Anaconda
>> - DLL load failed
>>
>>
>>
>> Hi Joaquim,
>>
>>
>>
>> Thanks for sharing your case. Did you manage to make it work in some way?
>>
>>
>>
>> I've already uninstalled a test PostgreSQL/PostGIS that I supposed to be
>> the source of the conflict, but I keep having the same error.
>>
>>
>>
>> I also reinstalled conda, but nothing had changed.
>>
>>
>>
>>
>>
>>
>>
>> Joaquim Manuel Freire Luís <jluis at ualg.pt> escreveu no dia quarta,
>> 13/10/2021 à(s) 15:24:
>>
>> 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/8187a731/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: env_win10.jpg
Type: image/jpeg
Size: 33695 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20211013/8187a731/attachment-0001.jpg>


More information about the gdal-dev mailing list