Mac上Apple Silicon版PyCharm无法加载ODBC Driver 18求助
问题背景
Mac上同时安装Intel版和Apple Silicon版PyCharm,运行使用PyODBC连接SQL Server的项目时,Intel版可正常调用ODBC Driver 18,但Apple Silicon版修改对应odbcinst.ini配置后,仍报错驱动文件找不到:
(pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager] Can't open lib '/usr/local/lib/libmsodbcsql.18.dylib' : file not found (0) (SQLDriverConnect)")
核心原因
Apple Silicon(arm64)与Intel(x86_64)架构不兼容:
/usr/local/lib是Intel架构Homebrew的默认安装路径,其中的libmsodbcsql.18.dylib是x86_64版本,无法被arm64架构的Apple Silicon版PyCharm加载。- Apple Silicon版Homebrew默认安装路径为
/opt/homebrew/lib,需对应安装arm64版本的ODBC驱动。
解决步骤
1. 安装arm64版ODBC Driver 18
打开Apple Silicon原生终端(非Rosetta兼容模式),执行以下命令:
brew install msodbcsql18 mssql-tools18
安装完成后,驱动文件会位于/opt/homebrew/lib/libmsodbcsql.18.dylib,为arm64架构,适配Apple Silicon版PyCharm。
2. 修改Apple Silicon版的odbcinst.ini配置
找到Apple Silicon架构对应的odbcinst.ini路径(通常为/opt/homebrew/etc/odbcinst.ini),编辑该文件,更新ODBC Driver 18的配置:
[ODBC Driver 18 for SQL Server] Description=Microsoft ODBC Driver 18 for SQL Server Driver=/opt/homebrew/lib/libmsodbcsql.18.dylib UsageCount=1
3. (可选)验证驱动架构
执行以下命令确认驱动的架构兼容性:
file /opt/homebrew/lib/libmsodbcsql.18.dylib
输出应包含arm64,说明是适配Apple Silicon的版本。
4. 强制指定odbcinst.ini路径(备用方案)
如果上述步骤仍不生效,可在Apple Silicon版PyCharm的运行配置中添加环境变量,强制指定配置文件路径:
- 打开PyCharm的「Run/Debug Configurations」
- 找到目标项目的运行配置,在「Environment variables」中添加键值对:
ODBCSYSINI=/opt/homebrew/etc - 保存配置后重新运行项目。
内容的提问来源于stack exchange,提问作者Behdad Hajipour

