Macos 什么是「;odbc“;Pyodbc找不到的库?
我已在Mac OS X 10.12.6(Sierra)上成功安装了unixODBC 2.3.4,但当我尝试运行Macos 什么是「;odbc“;Pyodbc找不到的库?,macos,pyodbc,unixodbc,Macos,Pyodbc,Unixodbc,我已在Mac OS X 10.12.6(Sierra)上成功安装了unixODBC 2.3.4,但当我尝试运行pip install pyodbc时,遇到以下错误: ld: library not found for -lodbc 我假设它所寻找的是与unixODBC一起安装的libodbc.la: test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib" /bin/sh ../libtool --mode=ins
pip install pyodbc
时,遇到以下错误:
ld: library not found for -lodbc
我假设它所寻找的是与unixODBC一起安装的libodbc.la:
test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c libodbc.la '/usr/local/lib'
# The latest versions of OS X no longer ship with iodbc. Assume
# unixODBC for now.
settings['libraries'].append('odbc')
这不是Pyodbc想要的吗?如何让它成功地找到并使用它?我下载了(4.0.17版)的副本,并通过检查其
setup.py
解决了这个问题。它确实在寻找unixODBC:
test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c libodbc.la '/usr/local/lib'
# The latest versions of OS X no longer ship with iodbc. Assume
# unixODBC for now.
settings['libraries'].append('odbc')
这导致使用查找/lib/usr/libodbc.dylib
的-lodbc
调用ld
。不幸的是,自El Capitan以来,正常安装进入/lib/local/usr
然后,我所做的是在sys.platform==“darwin”下的setup.py
中添加以下行:
# unixODBC make/install places libodbc.dylib in /usr/local/lib/ by default
# (also OS/X since El Capitan prevents /usr/lib from being accessed )
settings['library_dirs'] = [ '/usr/local/lib' ]
然后,我可以从本地系统使用PIP安装此软件,如下所示:
$ sudo pip install /path/to/pyodbc-4.0.17/
我将致力于为Pyodbc制作补丁,但这同时也让我过得去