在Mac OS X上ctypes
LoadLibrary()在哪里搜索共享库?
这有效:
LoadLibrary("/full/path/to/my_library.dylib")
但是
LoadLibrary("my_library.dylib")
即使/full/path/to)
和PATH
中的PYTHONPATH
也无效。
答案 0 :(得分:2)
在 OSX 上(与(几乎)任何 Nix 一样), CTypes 使用 dlopen 打开< em> .so ( .dylib )。根据{{3}}(man dlopen
):
当 path 不包含斜杠字符(即,只是叶子名称)时, dlopen()搜索以下内容,直到找到兼容的Mach-O文件: $ LD_LIBRARY_PATH , $ DYLD_LIBRARY_PATH ,当前工作目录, $ DYLD_FALLBACK_LIBRARY_PATH 。