GithubHelp home page GithubHelp logo

Comments (7)

hpwxf avatar hpwxf commented on June 3, 2024 1

(cf https://stackoverflow.com/a/62891703/12430075)

It could be that your C++ python library itself depends on a shared library / DLL. Python 3.7/3.6 would search for DLLs in PATH or the current working directory, but this is no longer the case in Python 3.8:

https://docs.python.org/3.8/whatsnew/3.8.html#ctypes

If this is the problem, you can add use add_dll_directory() to tell Python 3.8 where it should look for the DLLs.

from libkriging.

yannrichet avatar yannrichet commented on June 3, 2024

Is numpy version OK ? >=1.20

from libkriging.

hpwxf avatar hpwxf commented on June 3, 2024

Python 3.7 + Windows : OK
But
Python 3.8 or 3.9 + Windows : fails (same DLL load error).

  • openblas.dll is not embedded in python DLL

from libkriging.

hpwxf avatar hpwxf commented on June 3, 2024

NB: when it fails because sub-DLL is missing, the error is ImportError: DLL load failed: The specified module could not be found.

Moreover, using Dependencies, we can see minor differences between .pyd (dll) file from releases 3.6 (<), 3.7 (#) and 3.8 (>).

  • apisets : Same
  • apisetsdll : Same
  • chain :
< □ pylibkriging.cp36-win_amd64.pyd (ROOT) : G:/python-artifact/pylibkriging-0.4.1-cp36-cp36m-win_amd64/pylibkriging.cp36-win_amd64.pyd
< |  □ python36.dll (Environment) : C:\Python36\python36.dll
---
# □ pylibkriging.cp37-win_amd64.pyd (ROOT) : G:/python-artifact/pylibkriging-0.4.1-cp37-cp37m-win_amd64/pylibkriging.cp37-win_amd64.pyd
# |  □ python37.dll (Environment) : C:\Python37\python37.dll
---
> □ pylibkriging.cp38-win_amd64.pyd (ROOT) : G:/python-artifact/pylibkriging-0.4.1-cp38-cp38-win_amd64/pylibkriging.cp38-win_amd64.pyd
> |  □ python38.dll (Environment) : C:\Python38\python38.dll
  • exports :
< Export 1 :
<         Name : PyInit_pylibkriging
<         VA : 0xE550
---
# Export 1 :
#         Name : PyInit_pylibkriging
#         VA : 0xE570
---
> Export 1 :
>         Name : PyInit_pylibkriging
>         VA : 0xE210
  • imports :
< Import from module python36.dll:
# Import from module python37.dll:
many Function PyThread_* between 3.6 and 3.7 (not 3.7 and 3.8 except the following)
> Import from module python38.dll :
>        Function _Py_Dealloc
  • knowndll : Same
  • manifest : Same (except DLL name)
  • modules :
< [ROOT] pylibkriging.cp36-win_amd64.pyd : G:/python-artifact/pylibkriging-0.4.1-cp36-cp36m-win_amd64/pylibkriging.cp36-win_amd64.pyd
# [ROOT] pylibkriging.cp37-win_amd64.pyd : G:/python-artifact/pylibkriging-0.4.1-cp37-cp37m-win_amd64/pylibkriging.cp37-win_amd64.pyd
> [ROOT] pylibkriging.cp38-win_amd64.pyd : G:/python-artifact/pylibkriging-0.4.1-cp38-cp38-win_amd64/pylibkriging.cp38-win_amd64.pyd
< [Environment] python36.dll : C:\Python36\python36.dll
# [Environment] python37.dll : C:\Python37\python37.dll
> [Environment] python38.dll : C:\Python38\python38.dll
  • sxsentries :
< [-] sxs dependencies for executable : G:/python-artifact/pylibkriging-0.4.1-cp36-cp36m-win_amd64/pylibkriging.cp36-win_amd64.pyd
---
# [-] sxs dependencies for executable : G:/python-artifact/pylibkriging-0.4.1-cp37-cp37m-win_amd64/pylibkriging.cp37-win_amd64.pyd
---
> [-] sxs dependencies for executable : G:/python-artifact/pylibkriging-0.4.1-cp38-cp38-win_amd64/pylibkriging.cp38-win_amd64.pyd

from libkriging.

hpwxf avatar hpwxf commented on June 3, 2024

See also #86.

from libkriging.

hpwxf avatar hpwxf commented on June 3, 2024

Is numpy version OK ? >=1.20

Yes, for all configurations:

 pip show numpy
Name: numpy
Version: 1.20.3

from libkriging.

hpwxf avatar hpwxf commented on June 3, 2024

Seems to be a common issue between Python 3.7 and 3.8

from libkriging.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.