问题标签 [pyenchant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2109 浏览

python - 拼写检查 Python/Pandas/PyEnchant 中的列

我正在尝试使用 Pyenchant 对名为 house 的熊猫数据框中名为 pets 的列中的每个条目进行拼写检查。

当我运行此代码时,我收到一个关于未将字节串传递给 Pyenchant 的错误。不知道该怎么办。完整的错误文本如下:

文件“myfile”,第 20 行,在 [pets] = dict.suggest([pets])[0] 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant / init .py”,第 662 行,建议 word = self._StringClass(word) 文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant/utils.py” ,第 152 行,在的 raise Error("Don't pass bytestrings to pyenchant") enchant.errors.Error: Don't pass bytestrings to pyenchant

我怎样才能解决这个问题?谢谢。

0 投票
1 回答
264 浏览

python - 使用某些字母/数字时 PyEnchant 出错

PyEnchant 似乎对某些字母/数字组合有奇怪的行为:

并非每个字母/数字组合都会产生此问题。更多的例子是:

A92 产生了一些东西,92P 给出了 3 个关键响应。

在 PyEnchant 中,关键错误(它们是错误吗?)会打印到屏幕上,但似乎没有一种机制来捕获它。我尝试try/except阻止失败

有没有办法测试何时显示“关键”消息并通过不要求拼写建议来消除该消息?

0 投票
0 回答
247 浏览

macos - 添加新的语言以在 Mac OS 上附魔

我尝试在 Mac OS 上的 anaconda 包中为 pyenchant 添加新语言。我下载了 myspell 的文件(ru_RU.aff 和 ru_RU.dic)。据我了解,我必须将这些文件添加到/user/anaconda/lib/python2.7/site-packages/enchant/share/myspell/

好吧, /user/anaconda/lib/python2.7/site-packages/enchant/中没有目录共享,所以我创建了文件夹/user/anaconda/lib/python2.7/site-packages/enchant/share /myspell/并添加了文件......所以,它不起作用。

我怎样才能真正添加​​新语言来附魔?

0 投票
1 回答
2592 浏览

python - 如何在 pyenchant 中下载额外的字典?

特别是,我想下载希腊语和德语的。那可能吗?

如果没有,那么据我所知,我必须通过使用 libreoffice 项目中的相应文件来构建自己的字典。我对吗?

0 投票
1 回答
145 浏览

python - 使用 PyEnchant 语言词典创建词典

我正在尝试从我使用 PyEnchant 的英语词典创建一个新词典。例如:英语单词--> 'new' to become--> 'new':1e1n1w (我按字母顺序计算字母)我的问题是我不知道如何访问英语词典的对象,因此我可以制作重复结构并创建新词典或更改此词典。(我有两个制作词典的文件,一个 FFT 和一个 txt。 )

0 投票
1 回答
484 浏览

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

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

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

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

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

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

我很确定 libenchant_aspell.so 是真正的字典,但它没有把它捡起来,我不知道下一步该去哪里。

下面是我的 lambda_handler python 代码:

这是调用 Lambda 函数的输出:

如您所见import enchant,工作正常,但找不到任何字典文件。

我真的坚持这一点,花了 6 个小时的大部分时间试图弄清楚如何让它工作。在此先感谢您的帮助。

0 投票
1 回答
408 浏览

python - Aspell 已安装但不在 pyenchant 提供者列表中

我目前正在尝试改进一些文本数据的拼写,为此我正在使用 pyEnchant 1.6.8(python3.3,Windows 8)。就供应商而言,只有 Myspell 和 Ispell 可用。

我想尝试使用 Aspell,因为我在某处读过它在 store_replacement 方法方面效率更高。Aspell 安装在我正在使用的计算机上,但未显示在提供程序列表中:

另外,我尝试检查 .dll 所在的目录中的内容([...]\WINPYTHON.3355\python-3.3.5\Lib\site-packages\enchant\lib\enchant),并且有只有libenchant_ispell.dlllibenchant_myspell.dll,那里没有 aspell 文件。

尽管可能很天真,但我尝试在那里复制一个 Aspell .dll 文件,但它没有任何改进。

请问有人有想法吗?

0 投票
0 回答
359 浏览

python - pyenchant 识别小写单词,但不能识别以大写字母开头的单词

我正在尝试使用 pyenchant 对英语和保加利亚语文本进行拼写检查。我有一个问题,在英语中,单词在小写和以大写字母开头时都会被识别。例如:

但是,在保加利亚语中:

这是正常行为吗?我想使用 SpellChecker 类来检查整个段落,这妨碍了我。我真的不想.lower()在整个 str 上使用,因为这似乎是一个 hack。我正在使用pyenchant==1.6.8Python 3.5.2。en_US 和 en_GB 字典随 pyenchant 一起提供,我https://cgit.freedesktop.org/libreoffice/dictionaries/plain/bg_BG/bg_BG.dic分别从 aff 和 aff 下载了 bg_BG 字典。我不得不将它们从 Windows-1251 转换为 UTF-8,否则无法识别任何单词。

0 投票
1 回答
431 浏览

python - 如何在 CentOS 中安装 pyenchant?

我正在使用CentOS 5安装Python 2.7。我正在尝试安装pyenchant库,但在所有情况下都失败了。

  1. 使用pip install pyenchant- 这产生了以下错误 -

AttributeError: /usr/lib64/libenchant.so.1: undefined symbol: enchant_dict_add

  1. 使用yum install enchant- 这产生了以下错误 -

http://mirror.nexcess.net/CentOS/5.11/updates/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found.

  1. pyenchant-1.6.6-py2.py3-none-any.whl从这个网站下载。已使用pip install pyenchant-1.6.6-py2.py3-none-any.whl- 这再次产生了相同的错误。

AttributeError: /usr/lib64/libenchant.so.1: undefined symbol: enchant_dict_add

有没有其他方法可以安装这个库?

0 投票
2 回答
1870 浏览

python - 将字典添加到 pyenchant

使用带有 Python 3 的 Mac OSX 10.12.3。我已经安装了 pyenchant,但它仅适用于预安装的字典。

我已经安装了 Homebrew 并尝试按照以下答案从ftp://ftp.gnu.org/gnu/aspell/dict/0index.html安装瑞典语词典: https ://stackoverflow.com/a/35757817/4802426

我也尝试使用以下答案安装它:https ://stackoverflow.com/a/11807786/4802426 但这也不起作用。使用此方法安装可以正常工作,但是在列出上述语言时,不会出现新语言。我已经为不同的语言和提供者尝试了上述方法,例如myspell-esaspell-es等。

我该如何从这里前进?其他人一定也解决了同样的问题。