spacy Windows 10 と Python 3.5.3 でモデル 'en_core_web_sm' が見つからない :: Anaconda custom (64-bit)
質問
とはどのような違いがあるのでしょうか?
spacy.load('en_core_web_sm')
と
spacy.load('en')
?
このリンク
は、さまざまなモデルサイズについて説明しています。しかし、私はまだ明確ではありません
spacy.load('en_core_web_sm')
と
spacy.load('en')
が異なる
spacy.load('en')
は、私の場合は問題なく実行されます。しかし
spacy.load('en_core_web_sm')
はエラーを投げます。
私は
spacy
をインストールしました。
nlp = spacy.load('en_core_web_sm')
を実行すると、以下のようなエラーが発生します。
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-4-b472bef03043> in <module>()
1 # Import spaCy and load the language library
2 import spacy
----> 3 nlp = spacy.load('en_core_web_sm')
4
5 # Create a Doc object
C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\__init__.py in load(name, **overrides)
13 if depr_path not in (True, False, None):
14 deprecation_warning(Warnings.W001.format(path=depr_path))
---> 15 return util.load_model(name, **overrides)
16
17
C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\util.py in load_model(name, **overrides)
117 elif hasattr(name, 'exists'): # Path or Path-like to model data
118 return load_model_from_path(name, **overrides)
--> 119 raise IOError(Errors.E050.format(name=name))
120
121
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
スペイシーのインストール方法 ---
(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>conda install -c conda-forge spacy
Fetching package metadata .............
Solving package specifications: .
Package plan for installation in environment C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder:
The following NEW packages will be INSTALLED:
blas: 1.0-mkl
cymem: 1.31.2-py35h6538335_0 conda-forge
dill: 0.2.8.2-py35_0 conda-forge
msgpack-numpy: 0.4.4.2-py_0 conda-forge
murmurhash: 0.28.0-py35h6538335_1000 conda-forge
plac: 0.9.6-py_1 conda-forge
preshed: 1.0.0-py35h6538335_0 conda-forge
pyreadline: 2.1-py35_1000 conda-forge
regex: 2017.11.09-py35_0 conda-forge
spacy: 2.0.12-py35h830ac7b_0 conda-forge
termcolor: 1.1.0-py_2 conda-forge
thinc: 6.10.3-py35h830ac7b_2 conda-forge
tqdm: 4.29.1-py_0 conda-forge
ujson: 1.35-py35hfa6e2cd_1001 conda-forge
The following packages will be UPDATED:
msgpack-python: 0.4.8-py35_0 --> 0.5.6-py35he980bc4_3 conda-forge
The following packages will be DOWNGRADED:
freetype: 2.7-vc14_2 conda-forge --> 2.5.5-vc14_2
Proceed ([y]/n)? y
blas-1.0-mkl.t 100% |###############################| Time: 0:00:00 0.00 B/s
cymem-1.31.2-p 100% |###############################| Time: 0:00:00 1.65 MB/s
msgpack-python 100% |###############################| Time: 0:00:00 5.37 MB/s
murmurhash-0.2 100% |###############################| Time: 0:00:00 1.49 MB/s
plac-0.9.6-py_ 100% |###############################| Time: 0:00:00 0.00 B/s
pyreadline-2.1 100% |###############################| Time: 0:00:00 4.62 MB/s
regex-2017.11. 100% |###############################| Time: 0:00:00 3.31 MB/s
termcolor-1.1. 100% |###############################| Time: 0:00:00 187.81 kB/s
tqdm-4.29.1-py 100% |###############################| Time: 0:00:00 2.51 MB/s
ujson-1.35-py3 100% |###############################| Time: 0:00:00 1.66 MB/s
dill-0.2.8.2-p 100% |###############################| Time: 0:00:00 4.34 MB/s
msgpack-numpy- 100% |###############################| Time: 0:00:00 0.00 B/s
preshed-1.0.0- 100% |###############################| Time: 0:00:00 0.00 B/s
thinc-6.10.3-p 100% |###############################| Time: 0:00:00 5.49 MB/s
spacy-2.0.12-p 100% |###############################| Time: 0:00:10 7.42 MB/s
(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>python -V
Python 3.5.3 :: Anaconda custom (64-bit)
(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>python -m spacy download en
Collecting 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.0.tar.gz#egg=en_core_web_sm==2.0.0
Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz (37.4MB)
100% |################################| 37.4MB ...
Installing collected packages: en-core-web-sm
Running setup.py install for en-core-web-sm ... done
Successfully installed en-core-web-sm-2.0.0
Linking successful
C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\en_core_web_sm
-->
C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder\lib\site-packages\spacy\data\en
You can now load the model via spacy.load('en')
(C:\Users\nikhizzz\AppData\Local\conda\conda\envs\tensorflowspyder) C:\Users\nikhizzz>
どのように解決するのですか?
あなたの誤解に対する答えは、Unixの概念にあります。 ソフトリンク であり、Windows ではショートカットに似ていると言えるでしょう。これを説明しましょう。
あなたが
spacy download en
を、spaCyが最適なものを見つけようとします。
小さい
モデルを見つけようとします。私が話している小さなモデルは、デフォルトで
en_core_web_sm
これは、異なるspaCyのバージョンに対応する異なるバリエーションで見つけることができます(例えば
spacy
,
spacy-nightly
ある
en_core_web_sm
の大きさが異なる)。
spaCyがあなたに最適なモデルを見つけると、それをダウンロードし
リンク
名前
en
をダウンロードしたパッケージにリンクします。
en_core_web_sm
. つまり、基本的には
en
を参照することになります。
en_core_web_sm
. つまり
en
は本当のパッケージではなく、単に
en_core_web_sm
.
しかし、その逆は通用しません。を直接参照することはできません。
en_core_web_sm
を直接参照することはできません。なぜなら、システムはあなたがそれをインストールしていることを知らないからです。あなたが
spacy download en
を実行したとき、あなたは基本的にpipのインストールを行いました。そのため、pipはあなたが
en
というパッケージがインストールされていることは知っていても
en_core_web_sm
. このパッケージは、単にパッケージ
en
を置き換えるだけです。
en
へのソフトリンクに過ぎないということです。
en_core_web_sm
.
もちろん、直接ダウンロードすることもできます。
en_core_web_sm
を、コマンドを使ってダウンロードすることもできます。
python -m spacy download en_core_web_sm
という名前にリンクすることもできます。
en
を他のモデルにもリンクさせることができます。例えば、次のようにすることができます。
python -m spacy download en_core_web_lg
とした後
python -m spacy link en_core_web_lg en
. そうすると
en
の名前になります。
en_core_web_lg
という、英語の大きなspaCyモデルです。
これではっきりしたかな :)
関連
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?