在OSX 12.2(蒙特利)上安装pyodbc失败



在macOS 12上pip install pyodbc导致错误:

src/pyodbc.h:56:10: fatal error: 'sql.h' file not found

对于macOS和Pip的旧版本,在OSX10.9(Mavericks(上安装pyodbc失败中已经解决了这个主题。那里提供的答案都不适用于当前版本。

注意:在给定macOS、Pip、Homebrew和unixODBC版本的情况下,失败的原因似乎会随着时间的推移而变化很大。

在pyodbc 4.0.32:中指定unixODBC库的位置时运行pip install pyodbc

CPPFLAGS='-I/opt/homebrew/Cellar/unixodbc/2.3.9_1/include' 
LDFLAGS='-L/opt/homebrew/Cellar/unixodbc/2.3.9_1/lib' 
pip install pyodbc

似乎没有必要安装iODBC,因为unixODBC可以工作。

此外,获取用于SQL Server的ODBC驱动程序也很麻烦。文档位于https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos不准确,因为OpenSSL版本3和1在安装时无法正确检测。

由于OpenSSL版本冲突,尝试连接SQL服务器将导致以下错误:

  • SSL提供程序:〔无法加载OpenSSL库,请确保已安装OpenSSL 1.0或1.1〕
  • 客户端无法建立连接
  • 警告:<此处的命令/库>正在以不安全的方式加载libcrypto(随后发生进程崩溃(

中描述了修复驱动程序加载的各种尝试https://github.com/microsoft/homebrew-mssql-release/issues/59.

手动符号链接OpenSSL 1.1修复了撰写本文时的问题:

ln -s /opt/homebrew/opt/openssl@1.1/lib/libssl.dylib /usr/local/lib/
ln -s /opt/homebrew/opt/openssl@1.1/lib/libcrypto.dylib /usr/local/lib/

请理解,这可能会发生变化。

相关内容

  • 没有找到相关文章

最新更新