Environnement CentOS8 python 3.8.2
# dnf install python3-devel
# pip install mecab-python
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
Collecting mecab-python
Downloading https://files.pythonhosted.org/packages/86/e7/bfeba61fb1c5d1ddcd92bc9b9502f99f80bf71a03429a2b31218fc2d4da2/mecab-python-0.996.tar.gz (40kB)
100% |████████████████████████████████| 40kB 947kB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-9vu16hz5/mecab-python/setup.py", line 18, in <module>
include_dirs=cmd2("mecab-config --inc-dir"),
File "/tmp/pip-build-9vu16hz5/mecab-python/setup.py", line 10, in cmd2
return string.split (cmd1(str))
AttributeError: module 'string' has no attribute 'split'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9vu16hz5/mecab-python/
Réécrire setup.py pour prendre en charge
Commencez par télécharger et décompresser mecab-python-0.996.tar.gz
# wget https://files.pythonhosted.org/packages/86/e7/bfeba61fb1c5d1ddcd92bc9b9502f99f80bf71a03429a2b31218fc2d4da2/mecab-python-0.996.tar.gz
# tar xvzf mecab-python-0.996.tar.gz
# cd mecab-python-0.996
# ls
MeCab.py MeCab_wrap.cxx PKG-INFO README setup.py
Réécrire la partie erronée
Changer avant
def cmd2(str):
return string.split (cmd1(str))
Après le changement
def cmd2(str):
#return string.split (cmd1(str))
return cmd1(str).split()
# python setup.py install
mecab-test.py
import MeCab
text = 'Mesures économiques américaines, total de 220 billions de yens, PIB 10%, restrictions de sortie élargies'
m = MeCab.Tagger ()
words = m.parse (text).split('\n')
for elm in words:
print(elm)
# python mecab-test.py
Nomenclature du riz,Nom propre,zone,Pays,*,*,Riz,baie,baie
Nomenclature économique,Général,*,*,*,*,Économie,Keizai,Keizai
Contre-mesure substantif,Changer de connexion,*,*,*,*,Contre-mesures,Taisaku,Taisaku
, Symbole,Point de lecture,*,*,*,*,、,、,、
Nomenclature totale,Général,*,*,*,*,le montant,Sougaku,Sogaku
220 nomenclature,nombre,*,*,*,*,*
Nomenclature du billion,nombre,*,*,*,*,Mille milliards,Papillon,Cho
Yen substantif,suffixe,Mots auxiliaires,*,*,*,Cercle,Fr,Fr
Aussi assistant,Assistance,*,*,*,*,Aussi,Mo,Mo
symbole,Vide,*,*,*,*, , ,
Nomenclature du PIB,Général,*,*,*,*,*
10 nomenclature,nombre,*,*,*,*,*
% Nomenclature,suffixe,Mots auxiliaires,*,*,*,%,pour cent,pour cent
, Symbole,Point de lecture,*,*,*,*,、,、,、
Nomenclature de sortie,Changer de connexion,*,*,*,*,Sortir,Gaishutu,Gaishutu
Nom réglementaire,Changer de connexion,*,*,*,*,Régulation,Kisei,Kisei
Est un assistant,Assistant de cas,Général,*,*,*,Mais,Géorgie,Géorgie
Nom développé,Changer de connexion,*,*,*,*,Expansion,Kakudai,Kakudai
EOS
# python mecab-test.py
Traceback (most recent call last):
File "mecab-test.py", line 4, in <module>
m = MeCab.Tagger ()
File "/usr/local/lib64/python3.6/site-packages/MeCab.py", line 307, in __init__
this = _MeCab.new_Tagger(*args)
RuntimeError
Définir la variable d'environnement MECABRC
[chemin d'installation de mecab]/etc/mecabrc
Exemple de réglage
export MECABRC=/usr/local/etc/mecabrc
Recommended Posts