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

回答編集履歴

3

修正

2021/07/27 01:35

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -39,8 +39,11 @@
39
39
  1. `pip install mecab-python3 unidic-lite`
40
40
 
41
41
 
42
- でいいかと思います。その場合コマンドラインで使うmecabは要りません。
42
+ でいいかと思います。
43
43
 
44
+ `lib/site-packages/`配下にunidic辞書が入って、そこを見にいきます。
45
+ Pythonバインディングと、libmecab.dllと、辞書がすべて`lib/site-packages/`の中で揃うので、この場合コマンドラインで使うmecabは要りません。
46
+
44
47
  ----
45
48
 
46
49
  コマンドラインのmecabと同じ辞書が使いたいなら
@@ -49,8 +52,11 @@
49
52
  1. 自分でコピーした`libmecab.dll`を削除
50
53
  1. `pip install --force-reinstall mecab`
51
54
 
52
- かな、と思います。これだとコマンドラインで使うmecabの方の辞書を見にいきます。
55
+ かな、と思います。
53
56
 
57
+ Pythonバインディングと、libmecab.dllが`lib/site-packages/`の中に置かれます。
58
+ 辞書だけ、コマンドラインで使うmecabの方を見にいきます。
59
+
54
60
  ----
55
61
  追記
56
62
  Python側のコードは

2

追記

2021/07/27 01:35

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -51,7 +51,19 @@
51
51
 
52
52
  かな、と思います。これだとコマンドラインで使うmecabの方の辞書を見にいきます。
53
53
 
54
+ ----
55
+ 追記
56
+ Python側のコードは
54
57
 
58
+ ```
59
+ t = MeCab.Tagger('mecabrc')
60
+ ```
61
+ じゃなくて、
62
+ ```
63
+ t = MeCab.Tagger()
64
+ ```
65
+ で動くかを確認しましょう。
66
+
55
67
  ----
56
68
  補足
57
69
  パス区切り文字は`/`を使わせてもらいました

1

追記

2021/07/27 01:29

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -49,4 +49,11 @@
49
49
  1. 自分でコピーした`libmecab.dll`を削除
50
50
  1. `pip install --force-reinstall mecab`
51
51
 
52
- かな、と思います。これだとコマンドラインで使うmecabの方の辞書を見にいきます。
52
+ かな、と思います。これだとコマンドラインで使うmecabの方の辞書を見にいきます。
53
+
54
+
55
+ ----
56
+ 補足
57
+ パス区切り文字は`/`を使わせてもらいました
58
+ `_MeCab.cpXX-win_amd64.pyd`のXXにはPythonのバージョンが入ります
59
+ Pythonが間違いなく64bitであるという前提でファイル名を記載しています