Skip to content

python>=3.8 dll import fail under windows #33

Closed
@vincefn

Description

@vincefn

pyobjcryst now installs correctly under windows using pip install . (using the windows branch), but only works using python 3.7, and gets a "DLL load failed while importing _pyobcryst" on python>=3.8

This seems to be due to a change in python 3.8, see https://docs.python.org/3.8/whatsnew/3.8.html#bpo-36085-whatsnew

A workaround should be to insert the adequate paths in the DLL load path using os.add_dll_directory (https://docs.python.org/3.8/library/os.html#os.add_dll_directory), but it is not clear which paths are missing since the error message does not indicate which DLL dependency failed to import (that would be waaay too simple).

A relevant note for conda:
https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy-mkl-library-load-failed
.. but it seems using the CONDA_DLL_SEARCH_MODIFICATION_ENABLE does not make any difference

The following link may contain useful info:
https://stackoverflow.com/questions/65334494/python-c-extension-packaging-dll-along-with-pyd

is a package_data missing in the setup_args ?

Yet another possibility:
https://stackoverflow.com/questions/59330863/cant-import-dll-module-in-python/64472088#64472088

Another discussion:
Toblerity/Fiona#851
Toblerity/Fiona#1081

Yet another Relevant Link (Maybe):
https://stackoverflow.com/questions/56797584/why-does-static-version-of-the-boost-python-library-has-a-dependency-to-python-i

Another approach:
https://github.com/PixarAnimationStudios/USD/pull/1511/files

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions