🍱
osetiをimportしたらエラーを吐かれた話
oseti という Python で 感情分析 (Sentiment Analysis) を行うためのライブラリをimportしようとしたらエラーを吐かれたので解決策をメモ。
osetiを動かしてみると以下のエラーが出ました。
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/oseti/__init__.py", line 2, in <module>
from .oseti import Analyzer
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/oseti/oseti.py", line 8, in <module>
import sengiri
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/sengiri/__init__.py", line 2, in <module>
from .sengiri import tokenize
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/sengiri/sengiri.py", line 6, in <module>
EMOJIS = set(emoji.UNICODE_EMOJI.keys())
AttributeError: module 'emoji' has no attribute 'UNICODE_EMOJI'
読んでみるとemojiというモジュールで怒られているらしいのでひとまずバージョンを2.0
から1.7
に下げてみます。
$pip install emoji==1.7
すると別のエラーが
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/oseti/oseti.py", line 109, in analyze
for sentence in sengiri.tokenize(text):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/sengiri/sengiri.py", line 65, in tokenize
result += _analyze_by_mecab(line, mecab_args)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/sengiri/sengiri.py", line 21, in _analyze_by_mecab
(surface, features) = line.split('\t')
ValueError: too many values to unpack (expected 2)
どこかでmecab-python3のバージョンが0.7
だと動くと聞いたのでこちらもバージョンを1.0.5
から0.7
に下げてみます。
$pip install mecab-python3==0.7
動きました。やったね。
バージョン依存には気をつけましょう。
Discussion