web-dev-qa-db-ja.com

PyCharmはSpacy Model 'en'を見つけることができません

私のPyCharmのSpaCyからNLPモデル 'en'をロードしようとしています。Python 2.7を使用しています。
「en」モデルをロードするための私のコードはnlp = spacy.load('en', disable=['parser', 'ner'])です
しかし、次のエラーを受け取りました
IOError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
その後、モデルをダウンロードしていないことに気付いたので、PyCharmで提供されているターミナルを使用してモデルをダウンロードし、python -m spacy download en

これは次の出力でした:

要件は既に​​満たされています:en-core_web_sm == 2.0.0 from https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0. 。 tar.gz#Egg = en_core_web_sm == 2.0.0 in c:\ python27\lib\site-packages
pipバージョン9.0.1を使用していますが、バージョン18.0を使用できます。
'python -m pip install --upgrade pip'コマンドによるアップグレードを検討する必要があります。
この操作を実行するための十分な権限がありません。

正常にリンクするC:\ Python27\lib\site-packages\en_core_web_sm-> C:\ Python27\lib\site-packages\spacy\data\en

これで、spacy.load( 'en')を介してモデルをロードできます

だから私はかなり混乱しています...私にはダウンロードするための十分な権限がないため「en」モデルをダウンロードできなかったと思いますが、リンクはどのように成功しましたか?
このメッセージが表示されたとき、私はPythonファイルをもう一度実行しようとしました(ターミナルはリンクが成功したと述べたため))が、最初のエラーが再び表示されました。

誰かが以前にこの問題に遭遇したことがあるか、このエラーを解決する方法を知っていますか?モデルをダウンロードできるように、PyCharmターミナルで特権を「エスカレート」するにはどうすればよいですか?

5
wanitaqing

それがまだ関連性があるかどうかはわかりませんが、私もそれに遭遇します。モジュールはJupyter Notebookにうまくロードされましたが、私のPyCharmにはロードされませんでした。それを解決するには、PyCharmのプロジェクトのインタープリターに移動します(Ctrl + Alt + Sを使用)。使用しているインタープリターへのフルパスを確認してください。次に、ターミナルを次のように使用します。

FULL_PATH_TO_PYTHON_INTERPRTER -m spacy download en

これで、PyCharmで動作するはずです。

0
Eli Borodach

Spacyはmodelをダウンロードするいくつかの方法を説明しています: https://spacy.io/usage/models#download

python -mの使用

# Download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_sm

# Out-of-the-box: download best-matching default model and create shortcut link
python -m spacy download en

# Download exact model version (doesn't create shortcut link)
python -m spacy download en_core_web_sm-2.2.0 --direct

pipの使用

# With external URL
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz

# With local file
pip install /Users/you/en_core_web_sm-2.2.0.tar.gz

手動ダウンロードを使用する

https://spacy.io/usage/models#download-manual

PyCharmを使用してダウンロードする方法は?

仮想環境(venv)にURLパッケージProject Interpreterをインストールすることでそれを試みました:

https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz

しかし、Pycharmはtarを直接インストールできませんでした。


ソリューション:最後に、requirements.txtにtarのgithub URLを追加するだけで、PyCharmがインストールします。

requirements.txtthis belowを追加します:

# spacy
spacy
# spacy model
https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz

Githubリリースページのすべてのモデルでそれを行うことができます: https://github.com/explosion/spacy-models/releases/

2
JustInTime

実際、これはSpacyに示されているように、新しいスペイシーモデルをダウンロードするとどうなるかです。

ダウンロードコマンドは、pipを介してモデルをインストールし、パッケージをsite-packagesディレクトリに配置して、モデルをロードできるショートカットリンクを作成しますカスタム名。ショートカットリンクは、spacyダウンロードで使用されるモデル名と同じになります。

システムレベルでインストールしているようです。「管理者として実行」として実行するか、virtualenvオプションを使用してみてください。リンクの成功メッセージは単なるショートカットなので無視してください。

詳細なトラブルシューティングガイドについては、 this を参照することもできます。

2
AK.Pandian

モデルの直接リンクを使用している場合は、ダウンロードしたモデルファイルを使用してリンクしてください。

python -m spacy link [package name or path] [shortcut] [--force]

通常、モデルファイルはyour-python-environment/lib/site-packages/。 tarをダウンロードしてモデルファイルを解凍すると、enというフォルダーが表示されます。詳細は this リンクを参照してください

0
alif

virtualenvに移動し、次のようにしてvenvをアクティブ化します。

source venv/bin/activate

次に、それがアクティブ化されたときにタイプ:python -m spacy download en_core_web_sm

次に、virtualenvを次のように非アクティブ化します:deactivate

0
Yazen WAKED