Mettez MeCab dans "Windows 10; Python3.5 (64 bits)"

En raison de diverses circonstances, il était nécessaire d'installer MeCab dans l'environnement Windows. J'ai réussi à le faire, mais comme vous pouvez le voir avec un peu de google, un OS autre que Windows est recommandé. Puisqu'il a été résolu en combinant plusieurs articles de référence + α, conservez un journal de travail.

Environnement d'exécution

Téléchargez et installez mecab-0.996.exe

Travaux de modification de mecab-0.996.tar.gz

--Télécharger depuis http://taku910.github.io/mecab/#download

Modification de Makefile.msvc.in

--Copier Makefile.msvc.in ⇒ Renommer en Makefile.msvc ――La 5ème ligne

LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB

--Lignes 7-8

-DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \
-DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" \

Modification de feature_index.cpp

--Ligne 356

case 't':  os_ << (unsigned int)path->rnode->char_type; break;

Modification de writer.cpp

--Ligne 260

case 'L': *os << (unsigned int)lattice->size(); break;

Compilation de ceux modifiés

make.bat

-Remplacer tous les 〇〇.exe et libmecab.dll dans \ mecab-0.996 \ src en C: \ Program Files (x86) \ MeCab \ bin -Récrire tout 〇〇.lib dans \ mecab-0.996 \ src en C: \ Program Files (x86) \ MeCab \ sdk --Ajoutez C: \ Program Files (x86) \ MeCab \ bin à PATH

Travailler sur des modules Python

Réécrire 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 string.split (cmd1(str))

setup(name = "mecab-python",
	version = cmd1("mecab-config --version"),
	py_modules=["MeCab"],
	ext_modules = [
		Extension("_MeCab",
			["MeCab_wrap.cxx",],
			include_dirs=cmd2("mecab-config --inc-dir"),
			library_dirs=cmd2("mecab-config --libs-only-L"),
			libraries=cmd2("mecab-config --libs-only-l"))
			])

Ajouté à mecab.h

--mecab.h se trouve dans C: \ Program Files (x86) \ MeCab \ sdk

/**
 * Lattice class
 */
class MECAB_DLL_CLASS_EXTERN Lattice {
public:

  virtual void set_result(const char *str)        = 0; //Ajoutez cette ligne

  /**
   * Clear all internal lattice data.
   */
  virtual void clear()              = 0;

compiler

vcvarsall.bat
python setup.py build
python setup.py install

Enfin, l'importation MeCab fonctionne.

Recommended Posts

Mettez MeCab dans "Windows 10; Python3.5 (64 bits)"
Windows10: Installation de la bibliothèque MeCab pour python
3 étapes pour mettre Python + mecab dans yum uniquement
Créer un environnement de 64 bits Windows + python 2.7 + MeCab 0.996
Installation de Python en 2 lignes @Windows
[Python] Afficher plusieurs fenêtres avec Tkinter
Installation de Kivy sur Windows10 64 bits Python3.5
Appuyez sur une commande en Python (Windows)
installation de python2.7 dans un environnement Windows 32 bits
Mettez python, numpy, opencv3 dans ubuntu14
Jusqu'à ce que vous mettiez Python dans Docker
Installation de Kivy-Designer sur Windows10 64 bits Python3.5
Construire mlpy avec python3.3 (64 bits) (Windows 64 bits)
Mecab / Cabocha / KNP sur Python + Windows
Introduction de la liaison de MeCab (Wafubu) et Python à Windows 7 64 bits (2016/08/18)
J'ai mis Python 2.7 dans Sakura VPS 1 Go.
Fonctionnement de la souris à l'aide de l'API Windows en Python
Utilisation de venv dans un environnement Windows + Docker [Python]
[Itertools.permutations] Comment créer une séquence en Python
PUT gzip directement dans S3 en Python
[Python] [Windows] Communication série en Python à l'aide de DLL
[Python] [Windows] Faites une capture d'écran avec Python
Caractères Python déformés dans l'environnement Windows + Git Bash
Quadtree en Python --2
Python en optimisation
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Python sur Windows
Unittest en Python
environnement windows python
Époque en Python
Discord en Python
Installation de Python (Windows)
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
MeCab de Python
Mettre la liaison MeCab pour Python sur Windows, Mac et Linux avec pip
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Version 64 bits de PYTHON2.7
Constante en Python
nCr en Python.
format en python
Scons en Python 3