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
相关产品推荐
相关产品推荐

