macOS Catalinaで「mecab-python3」が動作しないときの対処方法

macOS Catalina(10.15.7)でPythonの「mecab-python3」ライブラリが動作しないときの対処方法です。

  • macOS Catalina(10.15.7)
  • Python 3.11.2
  • pip 23.1.2
  • mecab-python3 1.0.6
  • 以下のエラーが発生し、python3上から正常にmecabを使うことができません。
% python3 mecab-test.py

Traceback (most recent call last):
  File "/mecab-test.py", line 1, in <module>
    import MeCab
  File "/usr/local/lib/python3.11/site-packages/MeCab/__init__.py", line 10, in <module>
    from . import _MeCab
ImportError: dlopen(/usr/local/lib/python3.11/site-packages/MeCab/_MeCab.cpython-311-darwin.so, 2): Symbol not found: __ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv
  Referenced from: /usr/local/lib/python3.11/site-packages/MeCab/../mecab-python3.dylibs/libmecab.2.dylib (which was built for Mac OS X 12.0)
  Expected in: /usr/lib/libc++.1.dylib
libmecab.2.dylib (which was built for Mac OS X 12.0)

とあり、Mac OS X 12.0より古いバージョンのOSでは動作しない模様。

mecab-python3のバージョンをダウンするのが得策です。

  • 「mecab-python3」1.0.6をアンインストール。
  • 「pip3 install mecab-python3==1.0.5」でインストール。

これで、正常にPython3からmecabが使えるようになりました。

コメントを入力:
X W O​ I C