Créer un environnement de 64 bits Windows + python 2.7 + MeCab 0.996

Historique des corrections

2016/2/19 Correction de code / mise à jour de fichier requise 2016/2/19 Ajout du dépannage

introduction

Pourquoi dans Windows en premier lieu? Je pense qu'il y a une histoire, mais il y a une raison. Windows a un puissant IDE, Visual Studio.

Complétion de code, extraits de code, débogage ... Bien que ce soit un IDE qui a de nombreux avantages, il y a beaucoup de difficultés à construire un environnement sous Windows, et il semble que les problèmes liés à Python causent souvent des problèmes de construction. Il y a plusieurs raisons, mais les commandes Unix ne fonctionnent pas et le chemin du fichier est écrit différemment.

Cette fois, nous allons surmonter un tel obstacle et installer la bibliothèque Python de MeCab, qui est un favori des processeurs de langage naturel.

__Qu'est-ce que MeCab? __ [MeCab] [* 0] est un outil d'analyse morphologique. Les éléments morphologiques signifient quelque chose comme le plus petit bloc de mots significatifs. Par exemple, «l'écriture séparée avec python» peut être décomposée en «écriture séparée avec python». De plus, il est multifonctionnel, comme l'analyse des mots des pièces et la restauration du prototype. C'est incroyable. Il existe d'autres outils d'analyse morphologique tels que [JUMAN] [* 1] et [KAKASI] [* 2] de l'Université de Kyoto.

Les choses nécessaires

Choses à faire

En gros, reportez-vous aux deux articles [mecab-python -Python] [* 3] [Build MeCab for 64-bit Windows (using Visual Studio 2010) -iPentec] [* 4] on Windows 64bit. Je procéderai. Merci. .. .. ..

  1. Installez MeCab avec le programme d'installation mecab-0.996.exe
  2. Modifiez partiellement la source de mecab-0.996.tar.gz, compilez-la et remplacez celle construite par le contenu de la MeCab installée.
  3. Réécrivez le script de mecab-python-0.996.tar.gz pour Windows et exécutez build et setup

Cela semble facile d'écrire comme ça!

1. Installez MeCab

Installation de MeCab lui-même. Tout ce que vous avez à faire est d'exécuter le programme d'installation et d'écrire les variables d'environnement.

  1. Téléchargez et exécutez mecab-0.996.exe. Le code de caractère du dictionnaire semble être polyvalent, j'ai donc choisi utf-8. Cependant, utf-8 est brouillé sur l'invite de commande, ne soyez donc pas surpris.
  2. Ajoutez C: \ Mecab \ bin à la variable d'environnement PATH.
  3. Créez une nouvelle variable d'environnement MECABRC et définissez C: \ MeCab \ etc \ mecabrc

Les variables d'environnement changent en fonction de la destination d'installation, veuillez donc vérifier par vous-même.

2. Modifier et créer la source MeCab

Modifiez et créez le fichier source. Puisqu'il s'agit de 32 bits, corrigez-le pour 64 bits. Après cela, j'ai corrigé quelque chose qui semble être une petite erreur.

  1. Développez mecab-0.996.tar.gz
  2. Correction de certains fichiers dans le dossier mecab-0.996 \ src. Faites du dossier d'installation votre propre environnement. (Supprimez la ligne «#» et ajoutez après «!>»)

<! LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X86 ADVAPI32.LIB !>LDFLAGS = /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB ```

<! -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=@DIC_VERSION@
!>-DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 \ ```

<! -DVERSION=""@VERSION@"" -DPACKAGE=""mecab""
!>-DVERSION=""0.996"" -DPACKAGE=""mecab""
```

<! -DMECAB_DEFAULT_RC=""c:\Program Files\mecab\etc\mecabrc"" !>-DMECAB_DEFAULT_RC=""d:\Programs\mecab\etc\mecabrc"" ```

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

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

<! #ifndef SIWG !>#ifndef SWIG ```

!>#include ```

  1. Construisez. Exécutez dans le dossier mecab-0.996 \ src. Il semble que l'invite de commande doit être démarrée avec des privilèges d'administrateur.

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64 nmake -f Makefile.msvc.in ```

  1. libmecab.dll, mecab-cost-train.exe, mecab-dict-gen.exe, mecab-dict-index.exe, mecab-system dans MeCab \ bin du corps Mecab Remplacez la copie de -eval.exe et de mecab-test-gen.exe.
  2. Remplacez mecab.h et libmecab.lib dans MeCab \ sdk de l'unité principale MeCab. Copiez également le même fichier dans le dossier mecab-python-0.996. (* Mise à jour des étapes nécessaires)

C'est tout pour construire MeCab! C'est tout un problème parce que différentes personnes disent des choses différentes.

__Supplément __ ~~ 5. est suffisant mais peut ne pas être le minimum requis. Je le vérifierai à une date ultérieure ~~ (Confirmé! Voir ci-dessus.)

3. Configuration de mecab pour python

Enfin Python! Il existe un script qui ne fonctionne que sous Unix, alors réécrivons-le pour Windows.

  1. Extrait mecab-python-0.996.tar.gz

  2. Réécrivez setup.py comme suit. Veuillez modifier la destination d'installation comme il convient.

#!/usr/bin/env python from distutils.core import setup,Extension,os setup(name = "mecab-python", version = "0.996", py_modules=["MeCab"], ext_modules = [ Extension("_MeCab", ["MeCab_wrap.cxx",], include_dirs=[r"C:\MeCab\sdk"], library_dirs=[r"C:\MeCab\sdk"], libraries=["libmecab"]) ]) ```

  1. Construisez. créer un dossier de construction

python setup.py build running build running build_py running build_ext building '_MeCab' extension C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\cl.exe /c /nolo go /Ox /MD /W3 /GS- /DNDEBUG -ID:\Programs\MeCab\sdk -IC:\Develop\python27\inclu de -IC:\Develop\python27\PC /TpMeCab_wrap.cxx /Fobuild\temp.win-amd64-2.7\Releas e\MeCab_wrap.obj MeCab_wrap.cxx MeCab_wrap.cxx(3747) : warning C4530: C++J'utilise la gestion des exceptions, mais je me détend La sémantique n'est pas activée./Veuillez spécifier EHsc. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\Programs\MeCab\sdk /LIBPATH:C:\Develop\python27\libs /LIBPATH:C:\Develop\python27\PCbuild\amd64 libmecab.lib /EXPORT:init_MeCab build\temp.win-amd64-2.7\Release\MeCab_wrap.obj /OUT:build\lib.win-amd64-2.7_MeCab.pyd /IMPLIB:build\temp.win-amd64-2.7\Release_MeCab.lib/MANIFESTFILE:build\temp.win-amd64-2.7\Release_MeCab.pyd.manifest MeCab_wrap.obj : warning LNK4197:exportation'init_MeCab'Est spécifié plusieurs fois. Appliquez la toute première spécification. Construction de la bibliothèque\temp.win-amd64-2.7\Release_MeCab.construction de lib et d'objet\t emp.win-amd64-2.7\Release_MeCab.Créer exp ```

  1. Installation. Divers fichiers sont copiés dans Lib \ site-packages où python est installé

python setup.py install running install running build running build_py running build_ext running install_lib copying build\lib.win-amd64-2.7\MeCab.py -> C:\Develop\python27\Lib\site-packages copying build\lib.win-amd64-2.7_MeCab.pyd -> C:\Develop\python27\Lib\site-packages byte-compiling C:\Develop\python27\Lib\site-packages\MeCab.py to MeCab.pyc running install_egg_info Writing C:\Develop\python27\Lib\site-packages\mecab_python-0.996-py2.7.egg-info ```

Ceci termine la configuration de python! Comme pour la procédure précédente, en raison de la différence de spécifications entre le terminal Unix et l'invite de commande, il est nécessaire de spécifier directement la version et la destination de l'installation.

dépannage

__1. Dans python setup.py build, ʻerror: Impossible de trouver vcvarsall.bat` __ Je n'arrive pas à lire le fichier Visual Studio. Reportez-vous à [stack overflow] [* 5].

SET VS90COMNTOOLS=%VS140COMNTOOLS%`

Si vous faites quelque chose comme ça, ça devrait marcher. VS14 pour Visual Studio 2015. Pour Visual Studio 2014, c'est VS13, déroutant mais soyez prudent.

__2. Il n'y a pas de vcvarsall.bat en premier lieu ... __ Corrigeons et installons Visual Studio. Lancez le programme d'installation de Visual Studio. Si vous l'avez déjà installé, il devrait y avoir un élément appelé Change. Alors, allez dans Programming Language-> Visual C ++ et vérifiez-le. Appuyez ensuite sur Mettre à jour.

2016-02-19.png

Cela devrait être bien.

tester

Quand tout est fait, vous pouvez enfin utiliser MeCab! Essayons-le immédiatement

test.txt


Bonjour. Je suis Baymax. Protégez votre santé.

Tout d'abord, préparez le fichier de test ci-dessus. Et avec python,

> python
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MeCab
>>> import sys
>>> m = MeCab.Tagger("-Owakati")
>>> f = open('test.txt','r')
>>> text = f.read().decode('utf-8')
>>> f.close()
>>> f = open('test.txt','w')
>>> f.write(m.parse(text.encode('utf-8')))
>>> f.close()

comme ça!

Puis le fichier de test que j'ai mentionné plus tôt

Salut . Je suis Bay Max. Protégez votre santé.

À plus! C'est écrit correctement! Cependant, à cause du dictionnaire de MeCab, Baymax est divisé. .. .. .. .. .. ..

__ (• ー •) <Avez-vous vraiment besoin d'un robot de soins capable d'effectuer correctement l'analyse morphologique? __

Vous devriez pouvoir le faire! Alors la prochaine fois, ajoutons un dictionnaire.

référence

MeCab: Yet Another Part-of-Speech and Morphological Analyzer [Programme de conversion KAKASI --Kanji → Kana (Romaji)] [* 1] [Système d'analyse morphologique japonais JUMAN] [* 2] [Windows 64 bits, mecab-python -Python] [* 3] [Créer MeCab pour Windows 64 bits (à l'aide de Visual Studio 2010) -iPentec] [* 4] Ce qui est resté bloqué avec l'introduction de MeCab Python Add Star - Début de l'exploration de données et de l'apprentissage automatique stack overflow -error: Unable to find vcvarsall.bat

<! - Liste de références->

Recommended Posts

Créer un environnement de 64 bits Windows + python 2.7 + MeCab 0.996
Mettez MeCab dans "Windows 10; Python3.5 (64 bits)"
installation de python2.7 dans un environnement Windows 32 bits
[Django] Mémo pour créer un environnement de Django + MySQL + Vue.js [Python]
environnement windows python
Créer un environnement OpenCV3 + python3 sur OSX
Introduction de la liaison de MeCab (Wafubu) et Python à Windows 7 64 bits (2016/08/18)
Unification de l'environnement Python
[Python] Créer un environnement d'exécution de tâches asynchrone + environnement de surveillance
Créer un environnement Python
Créez un environnement de développement Python 3 (Anaconda) confortable avec Windows
[Python] [Windows] Enregistrer une capture d'écran sous forme d'image
Créez un environnement Open AI Gym avec Bash sur Windows 10
Créez un environnement shell et python décent sur Windows
Construction de l'environnement Python (Windows10 + Emacs)
Créer un environnement Python sur Windows
Construire un environnement Python avec Windows
Construire un environnement Python sous un environnement Windows 7
Construction de l'environnement de python2 & 3 (OSX)
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Vue d'ensemble de l'environnement virtuel Python et comment le créer
Construction d'environnement de python et opencv
Mémo de construction de l'environnement Python sur Windows 10
Installation de Kivy sur Windows10 64 bits Python3.5
Construction de l'environnement Anaconda Python sous Windows 10
Etudier Python Part.1 Créer un environnement
Créer un environnement Python sur Mac (2017/4)
Créez un environnement virtuel avec Python!
[Python3] Construction de l'environnement de développement << Édition Windows >>
Windows10: Installation de la bibliothèque MeCab pour python
Installation de Kivy-Designer sur Windows10 64 bits Python3.5
Créer un environnement Linux sur Windows 10
Construire mlpy avec python3.3 (64 bits) (Windows 64 bits)
Mecab / Cabocha / KNP sur Python + Windows
Créer un environnement python dans centos
Installation de Python, SciPy, matplotlib (Windows)
Construire un environnement pour python3.8 sur Mac
Installer l'environnement de développement Python sur Windows 10
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Créer un environnement d'exécution Windows Python avec VScode + Remote WSL
[Docker] Créer un environnement pour python (Flask) + GraphQL (graphène) + MySQL (sqlalchemy)
Créer une autre version de l'environnement Python conda avec une seule ligne de commande
J'ai essayé de créer un environnement de MkDocs sur Amazon Linux
Exemple de construction d'un environnement de développement python sur Windows (wsl2, vscode, pipenv)
Analyse morphologique de phrases contenant des mots récents dans un environnement Windows10 64 bits
Différentes façons de créer un tableau de nombres de 1 à 10 en Python.
[Python] Création d'un environnement avec Anaconda [Mac]
[Definitive Edition] Création d'un environnement d'apprentissage "machine learning" à l'aide de Python sous Windows
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
Créer un environnement pour Python intégré à Blender
Environnement de création de module d'extension Python 2.7, 3.4, 3.5 sous Windows
Procédure de construction de l'environnement de projet Python (pour Windows)
Utilisation de venv dans un environnement Windows + Docker [Python]
Comment créer un environnement NVIDIA Docker