pip install hunspell: Cannot open include file: 'hunspell.h': No such file or directory

天大地大妈咪最大 提交于 2019-12-12 03:53:33

问题


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?


回答1:


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.



来源:https://stackoverflow.com/questions/35642034/pip-install-hunspell-cannot-open-include-file-hunspell-h-no-such-file-or-di

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!