Python

安裝 pyobdc

  • July 2, 2021

我正在嘗試使用 pip3 安裝 pyodbc 但出現以下錯誤:

[hvr@07EUW1HVRHAP02A ~]$ pip3 install pyodbc
Collecting pyodbc
 Using cached https://files.pythonhosted.org/packages/81/0d/bb08bb16c97765244791c73e49de9fd4c24bb3ef00313aed82e5640dee5d/pyodbc-4.0.30
.tar.gz
Installing collected packages: pyodbc
 Running setup.py install for pyodbc ... error
   Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-dp0ls1b2/pyodbc/setup.py'
;f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" insta
ll --record /tmp/pip-0dv3z9sq-record/install-record.txt --single-version-externally-managed --compile:
   running install
   running build
   running build_ext
   building 'pyodbc' extension
   creating build
   creating build/temp.linux-x86_64-3.6
   creating build/temp.linux-x86_64-3.6/src
   gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-s
trong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPYODBC_VERSION=4.0.30 -I/
usr/include/python3.6m -c src/buffer.cpp -o build/temp.linux-x86_64-3.6/src/buffer.o -Wno-write-strings -DHAVE_UNISTD_H -DHAVE_PWD_H -D
HAVE_SYS_TYPES_H -DHAVE_LONG_LONG -DSIZEOF_LONG_INT=8 -I/usr/include
   In file included from src/buffer.cpp:12:0:
   src/pyodbc.h:56:17: fatal error: sql.h: No such file or directory
    #include <sql.h>
                    ^
   compilation terminated.
   error: command 'gcc' failed with exit status 1
  
   ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-dp0ls1b2/pyodbc/setup.py';f=getattr(tokenize, 'op
en', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-0dv
3z9sq-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-dp0ls1b2/pyod
bc/

可以通過首先執行以下命令安裝UNIX 的 ODBC 庫來解決此問題:

:~$ sudo apt install unixodbc-dev

:~$ pip install pyodbc

引用自:https://serverfault.com/questions/1068480