如何在 Windows 上安装 pyodbc 以与 Python 3.8 一起使用?

BR_*_*ner 6 python pyodbc python-3.x

我在 pyodbc 安装时遇到错误,我正在研究这个问题,也许是 c++ 重新分布安装问题,但即使使用 c++ 重新分布安装更新了问题 oc

\n\n

尝试安装 pyodbc 时出现错误

\n\n
C:\\Users\\MacInBox>pip install pyodbc\nCollecting pyodbc\n  Using cached https://files.pythonhosted.org/packages/75/29/aa190749bac37ede0f11a68a75e7055254699c11572bd94213f1163dfd8f/pyodbc-4.0.27.tar.gz\nInstalling collected packages: pyodbc\n    Running setup.py install for pyodbc ... error\n    ERROR: Command errored out with exit status 1:\n     command: \'c:\\users\\macinbox\\appdata\\local\\programs\\python\\python38-32\\python.exe\' -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'C:\\\\Users\\\\MacInBox\\\\AppData\\\\Local\\\\Temp\\\\pip-install-ysm4ul3_\\\\pyodbc\\\\setup.py\'"\'"\'; __file__=\'"\'"\'C:\\\\Users\\\\MacInBox\\\\AppData\\\\Local\\\\Temp\\\\pip-install-ysm4ul3_\\\\pyodbc\\\\setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' install --record \'C:\\Users\\MacInBox\\AppData\\Local\\Temp\\pip-record-fzctfb9u\\install-record.txt\' --single-version-externally-managed --compile\n         cwd: C:\\Users\\MacInBox\\AppData\\Local\\Temp\\pip-install-ysm4ul3_\\pyodbc\\\n    Complete output (12 lines):\n    running install\n    running build\n    running build_ext\n    building \'pyodbc\' extension\n    creating build\n    creating build\\temp.win32-3.8\n    creating build\\temp.win32-3.8\\Release\n    creating build\\temp.win32-3.8\\Release\\src\n    C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x86\\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DPYODBC_VERSION=4.0.27 -Ic:\\users\\macinbox\\appdata\\local\\programs\\python\\python38-32\\include -Ic:\\users\\macinbox\\appdata\\local\\programs\\python\\python38-32\\include "-IC:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.23.28105\\include" /EHsc /Tpsrc\\buffer.cpp /Fobuild\\temp.win32-3.8\\Release\\src\\buffer.obj /Wall /wd4514 /wd4820 /wd4668 /wd4711 /wd4100 /wd4127 /wd4191\n    buffer.cpp\n    C:\\Users\\MacInBox\\AppData\\Local\\Temp\\pip-install-ysm4ul3_\\pyodbc\\src\\pyodbc.h(19): fatal error C1083: N\xc3\x86o \xe2\x80\x9a poss\xc2\xa1vel abrir arquivo incluir: \'windows.h\': No such file or directory\n    error: command \'C:\\\\Program Files (x86)\\\\Microsoft Visual Studio\\\\2019\\\\Community\\\\VC\\\\Tools\\\\MSVC\\\\14.23.28105\\\\bin\\\\HostX86\\\\x86\\\\cl.exe\' failed with exit status 2\n    ----------------------------------------\nERROR: Command errored out with exit status 1: \'c:\\users\\macinbox\\appdata\\local\\programs\\python\\python38-32\\python.exe\' -u -c \'import sys, setuptools, tokenize; sys.argv[0] = \'"\'"\'C:\\\\Users\\\\MacInBox\\\\AppData\\\\Local\\\\Temp\\\\pip-install-ysm4ul3_\\\\pyodbc\\\\setup.py\'"\'"\'; __file__=\'"\'"\'C:\\\\Users\\\\MacInBox\\\\AppData\\\\Local\\\\Temp\\\\pip-install-ysm4ul3_\\\\pyodbc\\\\setup.py\'"\'"\';f=getattr(tokenize, \'"\'"\'open\'"\'"\', open)(__file__);code=f.read().replace(\'"\'"\'\\r\\n\'"\'"\', \'"\'"\'\\n\'"\'"\');f.close();exec(compile(code, __file__, \'"\'"\'exec\'"\'"\'))\' install --record \'C:\\Users\\MacInBox\\AppData\\Local\\Temp\\pip-record-fzctfb9u\\install-record.txt\' --single-version-externally-managed --compile Check the logs for full command output.\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的电脑上安装的 c++ reditribute\n这是 tge b

\n

Gor*_*son 11

目前,PiPI (pyodbc 4.0.27) 上的 pyodbc 没有 Python 3.8 的wheel 文件,因此当您执行pip install pyodbcpip 时,将尝试从源代码构建 pyodbc。为此,您不需要 C++可再发行组件,您需要一个 C++编译器

pyodbc 的下一个版本几乎肯定会有针对 Python 3.8 的预编译 Wheel 文件。同时,您可以从以下位置下载所需的轮文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyodbc

然后安装它

pip install C:\path\to\pyodbc-4.0.27-cp38-cp38-win32.whl
Run Code Online (Sandbox Code Playgroud)

2020-06-30 更新:当前版本的 pyodbc 现在具有适用于 Python 3.8 的轮子。