错误:无法构建使用 PEP 517 的 pymssql 轮子,因此无法直接安装。

12

我正在尝试在Windows上使用pip安装pymssql。问题是,我一直收到以下错误:

ERROR: Failed building wheel for pymssql
Failed to build pymssql
ERROR: Could not build wheels for pymssql which use PEP 517 and cannot be installed directly

完整日志如下:

Building wheels for collected packages: pymssql
  Building wheel for pymssql (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\administrator\appdata\local\programs\python\python39\python.exe' 'c:\users\administrator\appdata\local\programs\python\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\ADMINI~1\AppData\Local\Temp\tmpvh65n1en'
       cwd: C:\Users\Administrator\AppData\Local\Temp\pip-install-skfrg8ce\pymssql_3826b234076b47ab9618e9d73ff9698b
  Complete output (16 lines):
  setup.py: platform.system() => 'Windows'
  setup.py: platform.architecture() => ('64bit', 'WindowsPE')
  running bdist_wheel
  running build
  running build_ext
  cythoning src\_mssql.pyx to src\_mssql.c
  cythoning src\pymssql.pyx to src\pymssql.c
  building '_mssql' extension
  creating build
  creating build\temp.win-amd64-3.9
  creating build\temp.win-amd64-3.9\Release
  creating build\temp.win-amd64-3.9\Release\src
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ifreetds\include -IC:\Users\Administrator\AppData\Local\Temp\pip-install-skfrg8ce\pymssql_3826b234076b47ab9618e9d73ff9698b\build\include -Ic:\users\administrator\appdata\local\programs\python\python39\include -Ic:\users\administrator\appdata\local\programs\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29333\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt /Tcsrc\_mssql.c /Fobuild\temp.win-amd64-3.9\Release\src\_mssql.obj -DMSDBLIB
  _mssql.c
  src\_mssql.c(611): fatal error C1083: Cannot open include file: 'sqlfront.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2

有人遇到这个问题吗?我找了很多地方,但没有答案。我尝试降级pip,并尝试安装旧版本的pymssql,但仍无法解决。

4个回答

6

您缺少一些构建扩展所需的头文件(和可能的库文件)。

除非您想从头开始构建,否则从Dave Gohlke的Windows wheels页面获取适当的预构建轮可能更容易,并使用Pip进行安装。确保为您的Python版本和位数选择正确的文件。


4

我遇到了相同的错误,但采用了不同的解决方案。

我正在使用Mac + Py3.9。

解决方案:

brew install freetds

错误信息:

Collecting pymssql
  Using cached pymssql-2.1.5.tar.gz (167 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: pymssql
  Building wheel for pymssql (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/opt/python@3.9/bin/python3.9 /usr/local/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/ch/88r0y0hx02v5v903bl4pf4c40000gn/T/tmp053ptsxm
       cwd: /private/var/folders/ch/88r0y0hx02v5v903bl4pf4c40000gn/T/pip-install-klunmran/pymssql
  Complete output (33 lines):
  setup.py: platform.system() => 'Darwin'
  setup.py: platform.architecture() => ('64bit', '')
  setup.py: platform.libc_ver() => ('', '')
  setup.py: Detected Darwin/Mac OS X.
      You can install FreeTDS with Homebrew or MacPorts, or by downloading
      and compiling it yourself.

      Homebrew (http://brew.sh/)
      --------------------------
      brew install freetds

      MacPorts (http://www.macports.org/)
      -----------------------------------
      sudo port install freetds

  setup.py: Not using bundled FreeTDS
  setup.py: include_dirs = ['/usr/local/include']
  setup.py: library_dirs = ['/usr/local/lib']
  running bdist_wheel
  running build
  running build_ext
  cythoning src/_mssql.pyx to src/_mssql.c
  cythoning src/pymssql.pyx to src/pymssql.c
  building '_mssql' extension
  creating build
  creating build/temp.macosx-10.15-x86_64-3.9
  creating build/temp.macosx-10.15-x86_64-3.9/src
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/include -I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python@3.9/3.9.0_1/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c src/_mssql.c -o build/temp.macosx-10.15-x86_64-3.9/src/_mssql.o -DMSDBLIB
  src/_mssql.c:611:10: fatal error: 'sqlfront.h' file not found
  #include "sqlfront.h"
           ^~~~~~~~~~~~
  1 error generated.
  error: command '/usr/bin/clang' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for pymssql
Failed to build pymssql
ERROR: Could not build wheels for pymssql which use PEP 517 and cannot be installed directly

这是我收到的相同错误消息,但安装freetds也没有解决它。不确定问题出在哪里。 - Jhirschibar
这在 macOS v13.5.1 (22G90) 和 Python 3.10.11 上完美运行。谢谢! - undefined

1

将 Python 版本从 3.8.2 更改为 3.9.5 后,成功运行了 pip 命令。


0
如果您要在3.8.2版本上进行安装并出现此错误。 您可以尝试安装pymssql的2.2.7版本。
pip install pymssql==2.2.7

这个版本与Python的3.8.2版本兼容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接