Где ctypes LoadLibrary () ищет библиотеки в OS X? - PullRequest
0 голосов
/ 31 октября 2019

Где ctypes LoadLibrary () ищет общую библиотеку в Mac OS X?

Это работает:

LoadLibrary("/full/path/to/my_library.dylib")

Однако

LoadLibrary("my_library.dylib")

не работает, даже /full/path/to)в PATH и в PYTHONPATH.

1 Ответ

2 голосов
/ 01 ноября 2019

Вкл. OSX (как и (почти) любой Nix ), CTypes использует dlopen , чтобы открыть .so ( .dylib ). Согласно [Apple.Developer]: DLOPEN (3) (man dlopen):

Когда path не содержит символ слеша (т.е. это просто имя листа), dlopen () выполняет поиск следующего, пока не найдет совместимый файл Mach-O: $ LD_LIBRARY_PATH , $ DYLD_LIBRARY_PATH , текущая работакаталог, $ DYLD_FALLBACK_LIBRARY_PATH .

...