teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記

2021/03/22 13:50

投稿

quickquip
quickquip

スコア11310

answer CHANGED
@@ -47,4 +47,28 @@
47
47
  mecab_python3.libs → C++コードからコンパイルされてバイナリ配布されている共有ライブラリ(Linuxでいうと`libmecab.so`)。形態素解析器の**本体**
48
48
  という構成です。これらが全部入ります。
49
49
 
50
- ちなみに`pip install mecab`だと、**インストール済みのmecab共有ライブラリ(libmecab.so)**を呼び出すようなPythonバインディングが**コンパイル**されます。
50
+ ちなみに`pip install mecab`だと、**インストール済みのmecab共有ライブラリ(libmecab.so)**を呼び出すようなPythonバインディングが**コンパイル**されます。
51
+
52
+ ----
53
+
54
+ (追記)
55
+
56
+ ec2-userが一般ユーザで`/usr/lib`や`/usr/local/lib`に書き込み権限がないので、`/home/ec2-user/.local/lib`にインストールされていて、ec2-user以外のユーザからは読めないのかもしれません。
57
+
58
+ とすると
59
+ ```python
60
+ /usr/bin/python3 -c 'import sys; any(map(print, sys.path))'
61
+ /usr/bin/python3 -m pip -V
62
+ ```
63
+
64
+ ```
65
+ sudo /usr/bin/python3 -c 'import sys; any(map(print, sys.path))'
66
+ sudo /usr/bin/python3 -m pip -V
67
+ ```
68
+ の結果が違うという感じでしょうか。
69
+
70
+ システム側にライブラリを入れたいので
71
+ ```shell
72
+ sudo python3 -m pip install mecab-python3
73
+ ```
74
+ がよさそうです。

4

追記

2021/03/22 13:50

投稿

quickquip
quickquip

スコア11310

answer CHANGED
@@ -34,4 +34,17 @@
34
34
  mecab-python3==1.0.3
35
35
  ```
36
36
  というのはよくないです。どちらか**後に**インストールした方だけが有効になっているはずです。
37
- どこの libmecab を使っているか、どこの辞書を読んでいるかを把握していないという事態が想像されます。
37
+ どこの libmecab を使っているか、どこの辞書を読んでいるかを把握していないという事態が想像されます。
38
+
39
+ ----
40
+
41
+ (追記)
42
+ 情報として。
43
+
44
+ `pip install mecab-python3`した時にsite-packagesの配下は
45
+ MeCab → Pythonバインディング(共有ライブラリを呼び出すためのコード)。`import MeCab`した時に探索されてロードされるのはここの`__init__.py`
46
+ mecab_python3-1.0.3.dist-info → mecab_python3 1.0.3 をインストールしたというメタデータ
47
+ mecab_python3.libs → C++コードからコンパイルされてバイナリ配布されている共有ライブラリ(Linuxでいうと`libmecab.so`)。形態素解析器の**本体**
48
+ という構成です。これらが全部入ります。
49
+
50
+ ちなみに`pip install mecab`だと、**インストール済みのmecab共有ライブラリ(libmecab.so)**を呼び出すようなPythonバインディングが**コンパイル**されます。

3

追記

2021/03/22 13:21

投稿

quickquip
quickquip

スコア11310

answer CHANGED
@@ -8,6 +8,7 @@
8
8
  の結果と一致するかまず確認するでしょう。
9
9
 
10
10
  ----
11
+ (この項追記)
11
12
 
12
13
  別の可能性として
13
14
 

2

追記

2021/03/22 07:34

投稿

quickquip
quickquip

スコア11310

answer CHANGED
@@ -9,6 +9,24 @@
9
9
 
10
10
  ----
11
11
 
12
+ 別の可能性として
13
+
14
+ ```
15
+ pip install mecab
16
+ pip install mecab-python3
17
+ pip install mecab-python
18
+ pip uninstall mecab-python
19
+ ```
20
+ などとして、MeCabモジュールが消えてしまって、でもmecabとmecab-python3のdist-infoだけが残っている、とかでしょうか。
21
+
22
+ その可能性を考えると
23
+ ```
24
+ pip show mecab-python3
25
+ ```
26
+ して`Location`の下にMeCabディレクトリが存在するか確認した方がよかったかもしれません。
27
+
28
+ ----
29
+
12
30
  それはそれとして
13
31
  ```
14
32
  mecab==0.996.2

1

追記

2021/03/22 07:30

投稿

quickquip
quickquip

スコア11310

answer CHANGED
@@ -1,4 +1,4 @@
1
- これだと単純に**DjangoがそのPythonで動いてない**だけだと想像します。
1
+ これだと単純に**Djangoがその(=pipでモジュールを確認している)Pythonで動いてない**だけだと想像します。
2
2
 
3
3
  私なら、
4
4
  Djangoの方でどうにかして [sys.executable](https://docs.python.org/ja/3/library/sys.html#sys.executable) の値を確認して、