在 macOS 上,Python 查找 dylib 的程序大抵如下:
首先搜寻 Python 外部 dylib,例如 libpython3.9.dylib,这些 dylib 寄存在 Python 装置门路下的 Frameworks 目录中。
如果第一步没有找到须要的 dylib,则持续搜寻零碎默认的 dylib 门路,这些门路包含:
- /usr/lib
- /usr/local/lib
- /usr/lib/system
- /System/Library/Frameworks
- /Library/Frameworks
如果第二步没有找到须要的 dylib,则会搜寻环境变量 DYLD_LIBRARY_PATH 指定的门路。DYLD_LIBRARY_PATH 变量蕴含一个或多个门路,这些门路指定了 Python 能够搜寻的自定义 dylib 门路。
最初,Python 会搜寻一些其余的规范门路,例如 /usr/local/mysql/lib 和 /usr/local/ssl/lib,这些门路蕴含了一些常见的第三方 dylib 库。
总之,Python 会依照上述顺序搜索可用的 dylib,如果找到了对应的 dylib,就会将其加载到内存中。如果所有门路都没有找到对应的 dylib,则会报错。