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

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

ただいまの
回答率

90.33%

CaboChaをpythonにバインディングできません,,,(Windows)

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 63

anuna

score 4

前提・実現したいこと

アンケートデータのテキスト分析をするために,CaboChaを使って構文解析をしたかったのですが,
インストールした後にサンプルプログラムを実行しようしたところ下記のようなエラーがでてしまいました.
CaboChaをVS codeから実行できるようにしたいです.

この辺がおかしいんじゃないかというアドバイスをいただけると大変嬉しいです.
どうぞよろしくお願いいたします.

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

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

該当のソースコード

import CaboCha
c = CaboCha.Parser()
test = "約束した時間が守られなかった"
print(c.parseToString(test))

試したこと

  • windows環境で実行できるようにsetup.pyを下記のように変更しました
#!/usr/bin/env python

from distutils.core import setup,Extension,os
import string

def cmd1(str):
    return os.popen(str).readlines()[0][:-1]

def cmd2(str):
    return cmd1(str).split()

setup(name = "cabocha-python",
    version = "0.69",
    py_modules=["CaboCha"],
    ext_modules = [
        Extension("_CaboCha",
            ["CaboCha_wrap.cxx",],
            include_dirs=[r"C:\Program Files (x86)\CaboCha\sdk"],
            library_dirs=[r"C:\Program Files (x86)\CaboCha\sdk"],
            libraries=['libcabocha'])
            ])
  • 上記のsetup.pyを実行すると下記のようなエラーが発生していまいました
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: no commands supplied
  • MeCabを32bit版に入れ替えました
  • pythonが64bit版なので32bit版も使えるようにしました
  • Visual StudioのBuild toolsを入れ直しました

補足情報

  • OS:Windows 10 (64bit)
  • IDE:Visual Studio Code Version: 1.36.1 (system setup)
  • python:Python 3.7.4 (32bit)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • hayataka2049

    2019/08/15 14:18

    最低限mecabとcabochaの本体の導入、mecabのpythonバインディングの導入(これはなくてもいけるかな、やったことないけど)を先に済ませる必要がありますが、そのあたりは成功していますか?

    キャンセル

  • anuna

    2019/08/16 18:04

    mecabとcabochaの本体の導入,mecabのバインディングはできています.
    ただ,mecabのほうもコマンドプロンプトで実行できません.

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 90.33%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る