adang1345 / delvewheel

Self-contained Python wheels for Windows

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DLL not found when try to import package generated.

hzhangxyz opened this issue · comments

I try to use delvewheel to embed dll into my python package, but the result package cannot be imported.

The generated folder is like this:

├── PyTAT-0.2.7.post2+gd04c114.data
│   └── platlib
│       ├── concrt140.dll
│       ├── libopenblas-506beabb.dll
│       └── msvcp140.dll
└── TAT.cp310-win_amd64.pyd

When I try to import the package, it says: Library libopenblas-506beabb.dll not found
What happened? If I simply move the libopenblas-xxx.dll to the current folder manually, it works.

Is there something like rpath set wrong?

delvewheel version: delvewheel-0.0.20

I call delvewheel by: python -m delvewheel repair --wheel-dir {dest_dir} {wheel} --add-path bin
log:

  repairing C:\Users\RUNNER~1\AppData\Local\Temp\cibuildwheelrhvnubge\built_wheel\PyTAT-0.2.7.post2+gd04c114-cp310-cp310-win_amd64.whl
  finding DLL dependencies
  copying DLLs into PyTAT-0.2.7.post2+gd04c114.data\platlib
  mangling DLL names
  calculating DLL load order
  updating PyTAT-0.2.7.post2+gd04c114.dist-info\RECORD
  repackaging wheel
  fixed wheel written to C:\Users\RUNNER~1\AppData\Local\Temp\cibuildwheelrhvnubge\repaired_wheel\PyTAT-0.2.7.post2+gd04c114-cp310-cp310-win_amd64.whl

I run the above in github action, action run url: https://github.com/hzhangxyz/TAT/runs/5691145045

Did you figure out what the problem was?

Did you figure out what the problem was?

When I create this issue, I manually unzip the wheel file and try to import. then the error occurs.

Later, I just pip install the wheel, then no error will be reported.

I thought every thing will be the same between the above two operation, but I am wrong.