Swift使用PythonKit调用Python提示Python库未找到错误如何解决
故障原因及解决方案
平台兼容性说明
PythonKit仅支持macOS平台,iOS/iPadOS平台无法使用该框架。如果你的开发目标为iOS应用,直接放弃该方案即可,可选替代方案有两种:
- 将现有Python逻辑转写为Swift原生代码
- 将Python逻辑部署到后端服务,通过网络请求调用对应接口获取结果
macOS平台修复步骤
如果你开发的是macOS应用,按以下步骤操作即可修复报错:
- 先获取本地Python动态库的完整路径:打开终端执行命令
python3 -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR') + '/libpython' + sysconfig.get_config_var('VERSION') + '.dylib')",直接得到完整的dylib文件路径,复制备用。 - 在Xcode中配置环境变量:
- 点击顶部菜单栏 Product -> Scheme -> Edit Scheme
- 左侧选中Run选项,右侧切换到Arguments标签
- 在Environment Variables区域点击加号,Name填
PYTHON_LIBRARY,Value粘贴刚才复制的完整路径
- 修复代码逻辑错误:你的Python文件中定义的函数名为
hello(),但Swift代码中调用的是example.hi(),将调用语句改为let response = example.hello()即可 - 确认你的Python文件名为
ahhhhh.py,且确实存放在/Users/ulto4/Documents/vsc路径下
额外注意事项
如果后续要打包发布macOS应用,不能直接依赖本地的Python动态库,需要将Python runtime一起打包到应用包内,否则分发到其他设备上会再次出现找不到库的问题。
内容的提问来源于stack exchange,提问作者Ulto 4
相关产品推荐
相关产品推荐

