私の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ターミナルで特権を「エスカレート」するにはどうすればよいですか?
それがまだ関連性があるかどうかはわかりませんが、私もそれに遭遇します。モジュールはJupyter Notebookにうまくロードされましたが、私のPyCharmにはロードされませんでした。それを解決するには、PyCharmのプロジェクトのインタープリターに移動します(Ctrl + Alt + Sを使用)。使用しているインタープリターへのフルパスを確認してください。次に、ターミナルを次のように使用します。
FULL_PATH_TO_PYTHON_INTERPRTER -m spacy download en
これで、PyCharmで動作するはずです。
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
仮想環境(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.txtにthis 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/
実際、これはSpacyに示されているように、新しいスペイシーモデルをダウンロードするとどうなるかです。
ダウンロードコマンドは、pipを介してモデルをインストールし、パッケージをsite-packagesディレクトリに配置して、モデルをロードできるショートカットリンクを作成しますカスタム名。ショートカットリンクは、spacyダウンロードで使用されるモデル名と同じになります。
システムレベルでインストールしているようです。「管理者として実行」として実行するか、virtualenvオプションを使用してみてください。リンクの成功メッセージは単なるショートカットなので無視してください。
詳細なトラブルシューティングガイドについては、 this を参照することもできます。
モデルの直接リンクを使用している場合は、ダウンロードしたモデルファイルを使用してリンクしてください。
python -m spacy link [package name or path] [shortcut] [--force]
通常、モデルファイルはyour-python-environment/lib/site-packages/
。 tarをダウンロードしてモデルファイルを解凍すると、en
というフォルダーが表示されます。詳細は this リンクを参照してください
virtualenvに移動し、次のようにしてvenvをアクティブ化します。
source venv/bin/activate
次に、それがアクティブ化されたときにタイプ:python -m spacy download en_core_web_sm
次に、virtualenvを次のように非アクティブ化します:deactivate