python - ctypes på windows: afhængig dlls ikke fundet

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at indlæse en fælles bibliotek 'R.dll', der afhænger af 'Rblas.dll', begge er i samme mappe.
Når jeg indlæser R.dll med ctypes (et pythonmodul, der laster delte biblioteker)


import ctypes
lib = ctypes.CDLL("/path\_to\_r/bin/i386/R.dll")


Jeg får en fejlmeddelelse, der siger, at 'Rblas.dll' ikke findes.


Hvad kan jeg gøre ? Jeg troede, at at lægge begge libs i samme mappe er nok.

Bedste reference


Det kan være nødvendigt at tilføje den sti, som dll'erne er placeret på, til\% PATH\% miljøvariablen. Mens R.DLL er loadng med en eksplicit sti, søger søgningen efter det, der er anmodet RBLAS.DLL, stadig\% PATH\% for dets placering. Da det er en Windows-niveau operation, er der ingen (nem) måde at opfange og modificere den fra python ... så er det nødvendigt at ændre\% PATH\%.


Skønt det skiftevis kunne du midlertidigt os.chdir til den ønskede mappe, indlæse dlls og genoprette den oprindelige værdi af os.getcwd efter at dlls er indlæst. [4] [5]