mac环境python加载so库报错:OSError("dlopen(, 0x000A): tried: '' (no such file), '/usr/lib/' (not a file), '/Users/mactest/Desktop/ANKE-C/' (not a file), '/usr/lib/' (not a file)")
from ctypes import CDLL, RTLD_GLOBAL from ..anke import currentOS class LoadSo: def __init__(self, soPath, args): if currentOS != 'darwin': for arg in args: """ 1、麒麟、UOS环境循环加载需要主动加载的so,可用 2、mac环境调用dylib需要注释该循环,原因未知 报错:OSError("dlopen(, 0x000A): tried: '' (no such file), '/usr/lib/' (not a file), '/Users/mactest/Desktop/ANKE-C/' (not a file), '/usr/lib/' (not a file)") 3、可能的原因: 主插件包是在本地加载的(RTLD_LOCAL),因此,除非使用显式的dlopen后跟dlsym,否则任何人都看不到任何符号。 如果是Linux,我可以通过使用RTLD_GLOBAL标志再次dlopen将该捆绑包升级到全局名称空间,但是在Mac OS X上则不起作用。 但是Mac OS X很好地将内容打包到了包中,因此我只是制作了一个动态库并将其放入插件包目录中。 该库将作为RTLD_GLOBAL自动加载,并且所有Python符号均可用。 """ CDLL(arg, mode=RTLD_GLOBAL) self.xtx = CDLL(soPath)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效