web-dev-qa-db-ja.com

spacyのインポートエラー:「enという名前のモジュールはありません」

Python spaCy library の使用に問題があります。正しくインストールされているようですが、

from spacy.en import English

次のインポートエラーが発生します。

Traceback (most recent call last):
  File "spacy.py", line 1, in <module>
    from spacy.en import English
  File "/home/user/CmdData/spacy.py", line 1, in <module>
    from spacy.en import English
ImportError: No module named en

私はPythonに精通していませんが、オンラインで見た標準のインポートであり、ライブラリがインストールされています。

$ pip list | grep spacy
spacy (0.99)

[〜#〜] edit [〜#〜]ファイルの名前の変更をテストしましたが、それは問題ではありません。私も行うときに同じエラーが発生します:

$ python -m spacy.en.download --force all
/usr/bin/python: No module named en

(コマンドは一部のモデルをダウンロードすることになっています)

11
The Coding Monk

独自のファイルに名前を付けたため、このエラーが発生していますspacy.py。ファイルの名前を変更すると、すべてが機能するはずです。

11
Burhan Khalid

Windowsの場合、管理者権限でcmdを開きます。そして、

python -m spacy download en 

シェルプロンプトが表示されます。

spacy.load( 'en'))を使用してモデルをロードできます

11
Wong Tat Yau

Pythonのバージョン/usr/bin/pythonは、spacyがインストールされているバージョンではない可能性があります。その場合は、実行前にPythonの「通常」バージョンがあるディレクトリに移動します。

python -m spacy.en.download

問題を修正する必要があります。 (たとえば、Anacondaを使用してスペイシーをインストールし、最初にC:\Anaconda2\に移動する必要がありました。)

5
user7185728

同じ問題があり、問題はモジュール「en」が格納されているフォルダー(spacy/lang/en)でした。

タイピング:

spacy.lang.enからの英語のインポート

問題を修正しました。

この投稿 はこれを理解するのに役立ちました。

5

SpaCyには、選択した言語に応じてさまざまなモデルがあり(多言語モデルが含まれている場合もある)、 このリンク を参照して、ニーズに適したものをより適切に把握できます。

ここで正しいインストールコマンドを見つけることもできます。たとえば、英語の小規模バージョンモデルの場合:

python -m spacy download en_core_web_sm

それが役に立てば幸い!

2
AK.Pandian

これは機能します!

import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()
1
Harshal SG