macOS运行python程序遇libiomp5.dylib库冲突错误解决方案
用途说明
在macOS系统运行某些涉及OpenMP或多线程的Python程序(如PyTorch、NumPy等科学计算库)时,可能会出现libiomp5.dylib
库冲突的错误。设置os.environ['KMP_DUPLICATE_LIB_OK']='True'
允许系统加载重复的动态链接库,临时解决冲突问题。
典型错误场景
错误信息通常包含以下内容:
OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized.
解决方法(本文核心)
在Python脚本或交互式环境的最开始添加以下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
注意事项
- 该设置是临时解决方案,可能掩盖更深层次的库版本冲突问题。
- 更彻底的解决方式是检查环境中是否存在多个OpenMP库版本(如通过conda/pip混装导致)。
- 长期建议使用虚拟环境或统一包管理工具保持库版本一致性。
替代方案
通过终端临时设置环境变量(无需修改代码):
export KMP_DUPLICATE_LIB_OK=TRUE
python your_script.py