1

問題文

エンチャント ライブラリをインポートする python ファイルの実行に問題があります。次のコマンドでエンチャント モジュールをインストールしました。

$ pip install -U pyenchant
> Requirement already up-to-date: pyenchant in /usr/lib/python3.4/site-packages


私の 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 apr 13:56 pyenchant-1.6.6.dist-info

$ yum list installed | grep python-enchant
((nothing))


私のPythonファイル

$ cat ~/diskchall.py
import enchant

dictionary = enchant.Dict("en_US")
...


ファイルの実行

$ py ~/diskchall.py
Traceback (most recent call last):
  File "/root/diskchall.py", line 1, in <module>
    import enchant
  File "/usr/lib/python3.4/site-packages/enchant/__init__.py", line 92, in <module>
    from enchant import _enchant as _e
  File "/usr/lib/python3.4/site-packages/enchant/_enchant.py", line 143, in <module>
    raise ImportError(msg)
ImportError: The 'enchant' C library was not found. Please install it via your OS package manager, or use a pre-built binary wheel from PyPI.


OS X El Capitan - TypeError

El Capitan でもほぼ同じ手順を実行しましたが、実行すると TypeError が発生しました。

この問題_enchant.pyで提案されているようにファイルを変更することで修正されました。

このコミットが2014 年のものであり、まだ Pip リポジトリを作成していないことは非常に残念です。

4

2 に答える 2

5

「enchant」C ライブラリの少なくとも 1 つの依存関係が欠落しているようです。それは libenchant または enchant と呼ばれます。Python モジュールはこのライブラリのラッパーであるため、ラッパーを使用するにはこのライブラリが必要です。利用可能なものを確認するには、次を試してください。

yum whatprovides '*enchant*'

あなたの命令

yum list installed | grep python-enchant

yumではなくpipでインストールしたため、python-enchantは表示されません。代わりに試してください:

pip freeze | grep enchant

1 つのビルドの python-enchant の依存関係のリストをここで見ることができます。enchant >= 1.5.0 (libenchant と呼ばれることもあります) の要件に注意してください。

RedHat では、単純な「yum whatprovides enchant」で実行できます。

yum whatprovides enchant
...
Repo        : rhel6-base-x86_64
...
1:enchant-1.5.0-4.el6.i686 : An Enchanting Spell Checking Library
Repo        : rhel6-base-x86_64
...
1:enchant-1.5.0-5.el6.i686 : An Enchanting Spell Checking Library
Repo        : rhel6-base-x86_64
...
1:enchant-1.5.0-5.el6.x86_64 : An Enchanting Spell Checking Library
Repo        : rhel6-base-x86_64
...

次を使用してインストールします。

yum install enchant
于 2016-04-16T20:09:07.467 に答える