尝试在 Windows 上安装 pyodbc 时出现“Microsoft Visual C++ … is required”错误

Ala*_*pta 4 python windows pip pyodbc python-3.x

我正在尝试安装pyodbc,但收到以下错误。

C:\Python\Python37\Scripts>pip3 install pyodbc
Run Code Online (Sandbox Code Playgroud)

输出

Collecting pyodbc
  Using cached https://files.pythonhosted.org/packages/aa/71/cef225c4889620a1a00251d24c1746fe0cf4124290a75d1c2dc5c187b61f/pyodbc-4.0.23.tar.gz
Installing collected packages: pyodbc
  Running setup.py install for pyodbc ... error
    Complete output from command c:\python\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Alankar\\AppData\\Local\\Temp\\pip-install-7qf14pkz\\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\Alankar\AppData\Local\Temp\pip-record-k11gmg0x\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'pyodbc' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
Run Code Online (Sandbox Code Playgroud)
Command "c:\python\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Alankar\\AppData\\Local\\Temp\\pip-install-7qf14pkz\\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\Alankar\AppData\Local\Temp\pip-record-k11gmg0x\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Alankar\AppData\Local\Temp\pip-install-7qf14pkz\pyodbc\
Run Code Online (Sandbox Code Playgroud)

Mar*_*ese 7

我无法使用 C++ 构建工具方法,但我发现该方法非常简单:

  1. 根据您的计算机架构和Python版本下载相关的pyodbc轮(预编译的二进制文件): https: //www.lfd.uci.edu/~gohlke/pythonlibs/#pyodbc
  2. 跑步pip install <wheel path>

例如:

pip install c:\users\bob\downloads\pyodbc-4.0.27-cp38-cp38-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)

  • 对于像 pyodbc 4.0.27 和 Python 3.8 的当前情况这样的情况,这是一个很好的解决方法。pyodbc 的下一个版本很可能会包含 Python 3.8 的官方轮子,它将启用“pip install pyodbc”。 (2认同)