我正试图在我的Windows 10 x64计算机上pip install hunspell
,但是我收到以下错误:
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>
安装程序似乎正在尝试访问名为“hunspell.h”的文件,该文件无法找到。
我尝试将我在dxr.mozilla.org找到的文件放在“C:\ Users \ a \ AppData \ Local \ Programs \ Python \ Python35-32 \ include”中。然后我收到了关于hunvisapi.h的类似错误。创造了这一点。现在我得到了LINK : fatal error LNK1181: cannot open input file 'hunspell.lib'
。我不知道在哪里可以找到这个;但必须有一种更简单的方法来做这一切。
简而言之,如何在不收到上述错误的情况下安装hunspell?
答案 0 :(得分:2)
你的问题是pyhunspell是一个绑定到C(使用C Python API编码)的hunspell库,因此需要编译。要编译它需要安装hunspell并访问核心hunspell程序的hunspell头文件。
带有标题文件的部分,您设法调整它,但您需要在计算机上安装hunspell。为此,请参阅here或here。
一旦完成,你可以重试pip install,或者你可以尝试预编译的包只有一个可用,但它可能有效(见http://pyhunspell.latinier.fr/)
希望它有所帮助。
答案 1 :(得分:0)
请参见this answer:
在Ubuntu上:
# installing gcc if not already installed
sudo apt install build-essentials
# installing CyHunspell, which is currently maintained (see link to answer)
pip install cyhunspell
# now you can
import hunspell
# and do your stuff