質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.41%
Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

372閲覧

spaCyの言語モデルであるen_core_web_smが上手く読み込めません

ko-ske

総合スコア1

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2023/11/26 12:43

編集2023/11/26 12:48

実現したいこと

spaCyの言語モデルであるen_core_web_smを読み取れるようにしたいです。

前提

FlaskアプリをEC2(ubuntu)上にデプロイしています。
サーバーはGunicornとnginxを利用しています。
サーバー上でspaCyの言語モデルであるen_core_web_smを利用したいのですがエラーが出てしまいます。

ローカル環境はpython3.1..1を使用しました。
本番環境ではpython3.11.6を使用しています。

発生している問題・エラーメッセージ

ローカル環境であるwindows上では上手く読み取ってくれますが、本番環境では上手く読み取れません。

Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: File "/home/ubuntu/flask-app-project/apps/scrapy/views.py", line 86, in text_mining Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: File "/home/ubuntu/flask-app-project/my-flask-app/lib/python3.10/site-packages/spacy/__init__.py", line 51, in load Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: return util.load_model( Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: File "/home/ubuntu/flask-app-project/my-flask-app/lib/python3.10/site-packages/spacy/util.py", line 472, in load_model Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: raise IOError(Errors.E050.format(name=name)) Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory. Nov 26 12:45:58 ip-10-0-100-91 gunicorn[30523]: 2023-11-26 12:45:58,798 INFO sqlalchemy.engine.Engine ROLLBACK

該当のソースコード

python

1def text_mining(title_list, keyword, year1, year2): 2 3 titles = [title for title in title_list] 4 titles = ','.join(titles) 5 6 7 # ロギングの初期化 8 logging.basicConfig(filename='/path/to/your/logfile.log', level=logging.DEBUG) 9 10 # SpaCyモデルのロード前にログメッセージを追加 11 logging.debug("Loading SpaCy model...") 12 13 # SpaCyモデルのロード 14 nlp = spacy.load('en_core_web_sm') 15 #nlp = spacy.load(r'/home/ubuntu/.local/lib/python3.11/site-packages/en_core_web_sm-3.7.1/meta.json') 16 17 # SpaCyモデルのロード後にログメッセージを追加 18 logging.debug("SpaCy model loaded successfully.") 19 20 # テキストを解析 21 doc = nlp(titles)

試したこと

ソースコードにも記載していますが、en_core_web_smのpathを直接記載してもダメでした。
しかし、ソースコードの関数のみのファイルを作成し、実行した結果上手く読み取ることができました。

補足情報(FW/ツールのバージョンなど)

仮想環境中のライブラリなどのファイルは「/python3.10/site-packages」下にインストールされており、
アプリもそのフォルダを参照しているように思えますが、spaCyのen_core_web_smは
「/python3.11/site-packages」下にインストールされているように思えます。
python3.11.6を利用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーメッセージによると、 find model 'en_core_web_sm'.と言うことなので、en_core_web_smが見つからないようです。

en_core_web_smは知らないので適当にネットで検索すると、以下のサイトが引っかかりました。

spaCyで英語の文をトークナイズする方法を丁寧に

このページによると、

以下のようなモデル読み込みでエラーが出る場合、

python

1import spacy 2nlp = spacy.load('en_core_web_sm')

もしエラーが出る場合は,en_core_web_smのモデルがインストールされていないので,
python -m spacy download en_core_web_sm
でインストールしてください.

と、いう事らしいので、downloadすれば解決するんじゃないかと思います。

spaCyサイトのInstallation Quickstartで、選択すると環境によるコマンドがわかるようなので、最低限これはやらないとダメなんじゃないでしょうか?

投稿2023/11/28 02:03

FiroProchainezo

総合スコア2402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.41%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問