gpt4 book ai didi

linux - 在 virtualnev 中安装 Pyhunspell

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:30 25 4
gpt4 key购买 nike

我在 python 3.2 virtualenv 中为 hunspell 库安装 pyhunspell 绑定(bind)时遇到问题。我从 here 下载了 hunspell .我发布了 ./configuremake 并且它运行正常。但是,我避免执行 make install,因为我的目的是将它安装在 Web 服务器上的 virtualenv 上,我没有 root 权限。

因此我下载了pyhunspell bindings解压到hunspell制作目录。我通过添加正确的目标修改了 setup.py 中的 include_dir 路径并应用了 patch它允许使用 Python 3 构建 pyhunspell。然后我运行 python setup.py install(之前激活了目标 virtualenv),但我得到了这个:

$ python setupy.py install
running install
running build
running build_ext
building 'hunspell' extension
gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -D_LINUX -I./src/hunspell -I/usr/include/hunspell -I/usr/include/python3.2mu -c hunspell.c -o build/temp.linux-x86_64-3.2/hunspell.o -Wall
creating build/lib.linux-x86_64-3.2
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-3.2/hunspell.o -lhunspell-1.2 -o build/lib.linux-x86_64-3.2/hunspell.cpython-32mu.so
/usr/bin/ld: cannot find -lhunspell-1.2
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

链接器似乎无法链接某些东西,因为它在系统路径中查找它,而我没有在系统中安装库。在 C 的奥秘中比我更聪明的人可以设计任何解决这个问题的方法吗?

我要补充一点,我还无法访问真实服务器,但我知道它的系统与我本地的系统(Debian 7.0 Wheezy)非常相似,所以我决定在实际操作之前试一试登录到服务器。在我的计算机上编译的库是否也可以在服务器上运行,假设它也是 Debian 的某个(可能是稳定的)版本?

最佳答案

无需构建 Hunspell。安装 Wheezy 软件包 libhunspell-1.3-0libhunspell-dev .它应该适用于 HunSpell 1.3。只需修改 setup.py使用 libraries = ['hunspell']


仅供引用,发布的补丁有问题。它将 HunSpell 的方法添加为模块函数。它们接收模块作为第一个参数,而不是预期的 HunSpell 实例。例如,如果您调用 hunspell.spell,进程在尝试使用 self->handle 时可能会发生段错误。您应该修复 PyModuleDef 以消除这些故障。将 hunspell.c 的第 273 行更改为使用 NULL 而不是 HunSpell_methods

关于linux - 在 virtualnev 中安装 Pyhunspell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com