标签: enchant

18
推荐指数
4
解决办法
2万
查看次数

是否可以附魔地传递多个字典?

有什么办法可以在附魔中使用多个字典。我就是这样

import enchant
d = enchant.Dict("en_US")
d.check("materialise")
>> False
Run Code Online (Sandbox Code Playgroud)

但是如果我使用enchant.Dict("en_UK"),我会得到True。组合多个字典的最佳方法是什么,以便True无论返回materialise还是materialize作为输入参数返回?

python python-3.x pyenchant enchant

6
推荐指数
1
解决办法
63
查看次数

跨越不同平台的附魔词典

附魔图书馆的不同结果(附魔1.6.6)

在MAC OSX 10.11.12(El Capitan)中:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.suggest("prfomnc")
['performance', 'prominence', 'preform', 'perform']
Run Code Online (Sandbox Code Playgroud)

在Linux Ubuntu 14.04 LTS中:

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.suggest("prfomnc")
['princedom', 'preferment', 'preform']
Run Code Online (Sandbox Code Playgroud)

任何想法为什么我在NLTK中获得"建议"功能的不同结果和其他替代方案?


苹果系统

>>> enchant.list_dicts()
[('de_DE', <Enchant: Myspell Provider>), ('en_AU', <Enchant: Myspell Provider>), ('en_GB', <Enchant: Myspell Provider>), ('en_US', <Enchant: Myspell Provider>), ('fr_FR', <Enchant: Myspell Provider>)]
Run Code Online (Sandbox Code Playgroud)

Ubuntu的

>>> enchant.list_dicts()
[('en', <Enchant: Aspell Provider>), ('en_CA', <Enchant: Aspell Provider>), ('en_GB', <Enchant: Aspell Provider>), ('en_US', <Enchant: Aspell Provider>), ('en_ZA', <Enchant: Myspell …
Run Code Online (Sandbox Code Playgroud)

python nltk pyenchant enchant

5
推荐指数
1
解决办法
431
查看次数

在 AWS Lambda 上使用 Pyenchant,可以加载包但不能加载提供程序字典,已在 EC2 上从源代码进行编译并提取 .so 文件

我正在尝试在 AWS 上的 Lambda 函数中使用 Python 拼写检查库 Pyenchant。Pyenchant 是 C libenchant 库的包装器,而该库又依赖于来自 Aspell 等提供商的单词词典。

在 Lambda 上运行的 python 代码中,我能够成功导入已编译的 enchant 库以及 AWS Linux EC2 实例上的 C 库 (libenchant.so),并将输出复制到我的 Lambda 部署包。

然而,当 pyenchant 库在 Lambda 上运行时,它无法加载任何需要工作的单词词典。然后我使用以下命令在 EC2 实例上安装了 Aspell:

yum install aspell-en enchant-aspell
Run Code Online (Sandbox Code Playgroud)

然后,我将以下附加 .so 文件复制到部署包的 /lib 文件夹中:

  • libaspell.so
  • libenchant_aspell.so
  • libenchant_ispell.so
  • libenchant_myspell.so
  • libenchant.so

我很确定 libenchant_aspell.so 是实际的字典,但它没有拾取它,我不知道下一步该去哪里。

下面是我的 lambda_handler python 代码:

from __future__ import print_function
import os
import sys
import re
import enchant

enchant.set_param("enchant.aspell.dictionary.path","/var/task/lib")

def lambda_handler(event, context):

    print("# List available enchant dictionary …
Run Code Online (Sandbox Code Playgroud)

python aspell pyenchant enchant aws-lambda

5
推荐指数
1
解决办法
647
查看次数

'pyenchant'、CentOS(和 El Capitan)的问题

问题陈述

我在运行导入附魔库的 python 文件时遇到问题。我已经使用以下命令安装了 enchant 模块:

$ pip install -U pyenchant
> Requirement already up-to-date: pyenchant in /usr/lib/python3.4/site-packages
Run Code Online (Sandbox Code Playgroud)


我的 Python 环境

$ cat /etc/*-release
CentOS Linux release 7.2.1511 (Core)

$ cat ~/.zshrc
...
export PYTHONPATH=/usr/lib/python3.4/site-packages
alias py="python3"
alias pip="pip3"
...

$ py --version
Python 3.4.3

$ pip --version
pip 8.1.1 from /usr/lib/python3.4/site-packages (python 3.4)

$ echo $PYTHONPATH
/usr/lib/python3.4/site-packages

$ ls -al /usr/lib/python3.4/site-packages | grep enchant
drwxr-xr-x  5 root root 4096 13 apr 13:56 enchant
drwxr-xr-x  2 root root 4096 13 …
Run Code Online (Sandbox Code Playgroud)

python pip python-3.x pyenchant enchant

1
推荐指数
1
解决办法
2073
查看次数