Jacob Kapitein
Jacob Kapitein

Reputation: 315

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

I'm trying to install pymssql from pip on Windows. Problem is, I keep getting the following error:

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

Full log is as follows:

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

Has anybody had this issue? I've searched far and wide, but no answers. I tried downgrading pip and also tried install older versions of pymssql, but no luck.

Upvotes: 15

Views: 16591

Answers (5)

Balaji Rajendran
Balaji Rajendran

Reputation: 367

This works for Mac

brew install freetds openssl
export LDFLAGS="-L/opt/homebrew/opt/freetds/lib -L/opt/homebrew/opt/openssl@3/lib"
export CFLAGS="-I/opt/homebrew/opt/freetds/include"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"
python -m pip install pymssql

Upvotes: 0

AKX
AKX

Reputation: 168814

You're missing some header (and likely library) files needed to build the extension.

Unless you want to build from scratch, it'll probably be easier to get the suitable prebuilt wheel from Gohlke's Windows wheels page and install it with Pip. Be sure to choose the correct file for your Python version and bitness.

Gohlke's Windows wheels page was closed down in 2022 or so. Modern versions of pymssql have pre-built wheels on PyPI, so no one should be having this particular problem anymore.

Upvotes: 7

tallamtharun sai
tallamtharun sai

Reputation: 80

If you want to install it for 3.8.2 and getting this error. You can try installing 2.2.7 version of pymssql

pip install pymssql==2.2.7

This version is compatible with 3.8.2 version of python

Upvotes: 3

After changing the version of Python from 3.8.2 to 3.9.5, was able to run the pip command.

Upvotes: 1

pepper
pepper

Reputation: 413

I meet the same error,different solution.

I.m using mac + py3.9

solution:

brew install freetds

error info:

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/[email protected]/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/[email protected]/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/[email protected]/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

Upvotes: 8

Related Questions