I'm trying to pip install hunspell
on my windows 10 x64 machine, but I get the following error:
C:\Users\a>pip install hunspell
Collecting hunspell
Using cached hunspell-0.3.3.tar.gz
Installing collected packages: hunspell
Running setup.py install for hunspell ... error
Complete output from command c:\users\a\appdata\local\programs\python\python35-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\a\\AppData\\Local\\Temp\\pip-build-lmrkbjce\\hunspell\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\a\AppData\Local\Temp\pip-6k6fow3d-record\install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'hunspell' extension
creating build
creating build\temp.win32-3.5
creating build\temp.win32-3.5\Release
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D_LINUX -I/usr/include/hunspell -Ic:\users\a\appdata\local\programs\python\python35-32\include -Ic:\users\a\appdata\local\programs\python\python35-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /Tchunspell.c /Fobuild\temp.win32-3.5\Release\hunspell.obj -Wall
hunspell.c
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\corecrt_io.h(49): warning C4820: '_finddata32i64_t': '4' bytes padding added after data member 'name'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\corecrt_io.h(54): warning C4820: '_finddata64i32_t': '4' bytes padding added after data member 'attrib'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\corecrt_io.h(64): warning C4820: '__finddata64_t': '4' bytes padding added after data member 'attrib'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\corecrt_io.h(69): warning C4820: '__finddata64_t': '4' bytes padding added after data member 'name'
C:\Program Files (x86)\Windows Kits\8.1\include\\shared\basetsd.h(418): warning C4668: '_WIN32_WINNT' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\time.h(35): warning C4820: '_timespec64': '4' bytes padding added after data member 'tv_nsec'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\time.h(42): warning C4820: 'timespec': '4' bytes padding added after data member 'tv_nsec'
c:\users\a\appdata\local\programs\python\python35-32\include\pytime.h(112): warning C4115: 'timeval': named type definition in parentheses
c:\users\a\appdata\local\programs\python\python35-32\include\pytime.h(160): warning C4820: '<unnamed-tag>': '4' bytes padding added after data member 'adjustable'
c:\users\a\appdata\local\programs\python\python35-32\include\bytesobject.h(41): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'ob_sval'
c:\users\a\appdata\local\programs\python\python35-32\include\unicodeobject.h(917): warning C4820: '<unnamed-tag>': '2' bytes padding added after data member 'readonly'
c:\users\a\appdata\local\programs\python\python35-32\include\longintrepr.h(92): warning C4820: '_longobject': '2' bytes padding added after data member 'ob_digit'
c:\users\a\appdata\local\programs\python\python35-32\include\pystate.h(85): warning C4820: '_ts': '2' bytes padding added after data member 'recursion_critical'
c:\users\a\appdata\local\programs\python\python35-32\include\genobject.h(32): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'gi_running'
c:\users\a\appdata\local\programs\python\python35-32\include\genobject.h(50): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'cr_running'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(18): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(22): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(32): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(39): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(48): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(53): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pyerrors.h(65): warning C4820: '<unnamed-tag>': '3' bytes padding added after data member 'suppress_context'
c:\users\a\appdata\local\programs\python\python35-32\include\pylifecycle.h(62): warning C4255: '_Py_CheckPython3': no function prototype given: converting '()' to '(void)'
c:\users\a\appdata\local\programs\python\python35-32\include\fileutils.h(23): warning C4820: '_Py_stat_struct': '4' bytes padding added after data member 'st_dev'
c:\users\a\appdata\local\programs\python\python35-32\include\fileutils.h(25): warning C4820: '_Py_stat_struct': '2' bytes padding added after data member 'st_mode'
c:\users\a\appdata\local\programs\python\python35-32\include\fileutils.h(29): warning C4820: '_Py_stat_struct': '4' bytes padding added after data member 'st_rdev'
c:\users\a\appdata\local\programs\python\python35-32\include\fileutils.h(32): warning C4820: '_Py_stat_struct': '4' bytes padding added after data member 'st_atime_nsec'
c:\users\a\appdata\local\programs\python\python35-32\include\fileutils.h(34): warning C4820: '_Py_stat_struct': '4' bytes padding added after data member 'st_mtime_nsec'
hunspell.c(21): fatal error C1083: Cannot open include file: 'hunspell.h': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2
----------------------------------------
Command "c:\users\a\appdata\local\programs\python\python35-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\a\\AppData\\Local\\Temp\\pip-build-lmrkbjce\\hunspell\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\a\AppData\Local\Temp\pip-6k6fow3d-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\a\AppData\Local\Temp\pip-build-lmrkbjce\hunspell
C:\Users\a>
It seems that the installer is trying to reach a file named "hunspell.h" which can not be found.
I tried to put the file I found at dxr.mozilla.org in "C:\Users\a\AppData\Local\Programs\Python\Python35-32\include". Then I got a similar error about hunvisapi.h. Created that, too. Now I'm getting LINK : fatal error LNK1181: cannot open input file 'hunspell.lib'
. I don't know where I can find this one yet; but there must be an easier way to do all this.
In short, how can I install hunspell without getting the errors above?
Your problem is that pyhunspell is a binding to the C (coded using C Python API) hunspell library, thus it needs to compile. To compile it needs to have hunspell installed and access to hunspell header files of the core hunspell program.
The part with the header files you managed to tweak it but you need hunspell installed on your computer. For that see here or here.
Once it's done you can retry pip install or you can try precompiled package there is only one available but it might work (see http://pyhunspell.latinier.fr/)
Hope it helps.