LoginSignup
1
2

More than 1 year has passed since last update.

非Anaconda環境にCaboChaをインストールする(Win)

Last updated at Posted at 2020-07-06

全ての非Anaconda環境Python使いにこの記事を捧げます。

おがどらです。
タイトルの通りです。自分はこれに一日以上費やしてしまったので供養。
基本的にはAnaconda環境と変わりませんが、必要モジュールがインストールされていないのでエラーを吐くっぽいです。
すでにPythonをインストールしてしまったのでAnacondaを入れたくない><って人にオススメです。
でも面倒くさいのでよっぽどじゃない限りはAnacondaを導入しましょう。
筆者の環境はWindows 10です。

前提条件

Pythonは32bit版じゃないと上手く行かないらしいです。
こちらからダウンロードして下さい。
筆者はWindows x86 web-based installerをダウンロード&インストールしました。

PS C:\WINDOWS\system32> py -3.8-32 -V
Python 3.8.3

このように表示されればOKです。
64bit版と共存させる場合は -3.8-32 (3.8はバージョンにより適宜変える)オプションを指定しないと64bit版が呼び出されます。

PS C:\WINDOWS\system32> py
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
PS C:\WINDOWS\system32> py -3.8-32
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

このように確かめることが出来ます。
また、pipで32bit版を明示的に呼び出すために

py -3.8-32 -m pip install hogehoge
としますので覚えておいて下さい。
ついでにpipをアップグレードしておきましょう。

py -3.8-32 -m pip install --upgrade pip

##色々インストール(参考記事)
次に
CaboCha & Python3の環境構築(Windows版)
を参考に、諸々の準備をして下さい。
簡単に手順をまとめると

  1. MeCabのインストール
  2. CaboChaのインストール
  3. Visual C++ コンパイル環境のインストール
    ですね。ここの部分はAnacondaでもそれ以外でも変わりません。
    UTF-8版をどちらもインストールして下さい。

##numpy + mklのインストール
ここからがAnacondaと違います。
Numpyモジュールですが、pipでインストールするものだと使えません。
Anacondaだと標準で入っているらしいのですが、非Anaconda環境だとちょっと面倒くさいことになります。
ちなみにこのままCaboChaを使おうとすると

Traceback (most recent call last):
  File "A:/codes/python/test.py", line 4, in <module>
    import CaboCha
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\CaboCha.py", line 28, in <module>
    _CaboCha = swig_import_helper()
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\CaboCha.py", line 24, in swig_import_helper
    _mod = imp.load_module('_CaboCha', fp, pathname, description)
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\imp.py", line 344, in load_dynamic
    return _load(spec)
ImportError: DLL load failed while importing _CaboCha: 指定されたモジュールが見つかりません。

Process finished with exit code 1

このようなエラーが出ます。
「指定されたモジュールってどれやねん!!!」と四苦八苦しました。

まず最初に既にnumpyが入っている場合はアンインストールします。

py -3.8-32 -m pip uninstall numpy

次にWheelをインストールします。
Wheelとはwhlファイルからpythonモジュールを読み込むときに必要なライブラリっぽいです。

py -3.8-32 -m pip install wheel

次にwheelでインストール出来るバージョンを確認します。
PowerShellをそのまま使う場合には以下のようにして下さい。

PS C:\WINDOWS\system32> py -3.8-32
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import wheel.pep425tags
>>> print(wheel.pep425tags.get_supported(-1))
C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\wheel\pep425tags.py:80: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
  if get_flag('Py_DEBUG',
[('cp38', 'cp38', 'win32'), ('cp38', 'none', 'win32'), ('cp38', 'none', 'any'), ('cp3', 'none', 'any'), ('cp37', 'none', 'any'), ('cp36', 'none', 'any'), ('cp35', 'none', 'any'), ('cp34', 'none', 'any'), ('cp33', 'none', 'any'), ('cp32', 'none', 'any'), ('cp31', 'none', 'any'), ('cp30', 'none', 'any'), ('py3', 'none', 'win32'), ('py38', 'none', 'any'), ('py3', 'none', 'any'), ('py37', 'none', 'any'), ('py36', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
>>>

リストが返ってきます。
このリストの読み方ですが、
('cp38', 'cp38', 'win32')
という表記がある場合に
hogehoge-cp38-cp38-win32.whl
というファイルのインストールに対応しています、位に捉えてくれればOKです。
Python 3.8.X環境ならcp38に対応していると思います。
whlファイルはこちらからインストール出来ます。
色々ありますがCtrl + Fなどを活用してダウンロードしていきます。
筆者環境では以下のファイルをダウンロードしました。(もしかしたら必要がないものもあるかも知れません)

・numpy-1.19.0+mkl-cp38-cp38-win32.whl
・scipy-1.5.1-cp38-cp38-win32.whl
・scikit_learn-0.23.1-cp38-cp38-win32.whl
・pandas-1.0.5-cp38-cp38-win32.whl
・matplotlib-3.3.0rc1-cp38-cp38-win32.whl

whlファイルからインストールするには、whlファイルを保存したディレクトリまでcdコマンドで移動し、

py -3.8-32 -m pip install [ファイル名]

とすれば良いです。
mklの入ったnumpyがインストールされたかどうか確認するには

import numpy as np
np.show_config()

とすると色々出てきます。
blas_mkl_info:
の項目がNOT AVAILABLEになっていなければインストールが正常に終了しています。Scipyも同様に行って見て下さい。

##確認
これでCaboChaが非Anaconda環境にインストール出来ていると思います。
確認には参考サイトのコードを走らせてみるのが良いと思います。(Python3に対応しているので。)
もし正常に動かないようでしたら以下を試してみて下さい。
・Cabocha, MeCabの再インストール(UTF-8でインストールしているかをもう一度確認する)
・cabochaをwhlからインストールしてみる
後者はこちらからダウンロードすることが出来ます。

お疲れさまでした。良き日本語解析ライフを!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2