You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中Python无法导入pyodbc库求助:依赖库缺失报错

pyodbc导入失败解决方案(macOS环境)

问题描述

在VSCode中运行Python代码时,pyodbc可正常通过pip安装,但导入时报错:

Traceback (most recent call last):
  File "/Users/marvin/Documents/Python Projects /VSCode/SQL_test.py", line 1, in <module>
    import pyodbc
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pyodbc.cpython-311-darwin.so, 0x0002): Library not loaded: /usr/local/opt/unixodbc/lib/libodbc.2.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pyodbc.cpython-311-darwin.so
  Reason: tried: '/usr/local/opt/unixodbc/lib/libodbc.2.dylib' (no such file), '/usr/lib/libodbc.2.dylib' (no such file)

解决步骤

  • 安装unixODBC依赖
    pyodbc依赖unixODBC驱动库,通过Homebrew安装:

    brew install unixodbc
    

    若未安装Homebrew,先执行/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"完成安装。

  • 重新安装pyodbc
    强制重新安装pyodbc,确保它能链接到刚安装的unixODBC:

    pip install --force-reinstall pyodbc
    

    若仍有问题,可手动指定unixODBC的路径编译安装:

    pip install pyodbc --global-option=build_ext --global-option="-I/usr/local/opt/unixodbc/include" --global-option="-L/usr/local/opt/unixodbc/lib"
    
  • 验证修复效果
    运行Python脚本测试导入:

    import pyodbc
    print("pyodbc导入成功")
    

    或通过工具检查库依赖是否正常:

    otool -L /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pyodbc.cpython-311-darwin.so
    

    输出中应包含/usr/local/opt/unixodbc/lib/libodbc.2.dylib的有效路径。

  • 环境变量补充(可选)
    若上述步骤无效,设置环境变量让系统找到驱动库:

    export DYLD_LIBRARY_PATH=/usr/local/opt/unixodbc/lib:$DYLD_LIBRARY_PATH
    

    之后再运行Python脚本。

内容的提问来源于stack exchange,提问作者Marvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:25:29