Comment utiliser scikit-learn + mecab de python avec heroku.
heroku a heroku-buildpack-mecab pour gérer mecab en Ruby, mais pas pour python. Utilisez donc heroku-buildpack-linuxbrew pour installer mecab.
De plus, heroku-buildpack-python ne peut pas installer de bibliothèques qui nécessitent un compilateur c, comme scipy et scicit-learn. Au lieu de cela, heroku-buildpack-conda installe miniconda au lieu de python pour installer ces packages.
Afin de gérer ces multiples buildpacks, vous devez créer une application avec heroku-buildpack-multi.
Premier dans le référentiel local pour heroku
$ git init
$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-multi
Créez une application avec.
Ensuite, créez des .buildpacks dans votre référentiel local
.buildpacks
https://github.com/kennethreitz/conda-buildpack.git
https://github.com/sunny4381/heroku-buildpack-linuxbrew.git
Écrivez et sauvegardez. buildpack-multi installera le buildpack répertorié dans ce fichier.
Créez un .cellar dans le même répertoire
.cellar
mecab
mecab-ipadic
Écrivez et sauvegardez. buildpack-linuxbrew installera les applications répertoriées dans ce fichier.
Les bibliothèques que vous souhaitez installer avec pip et conda sont chacune Si vous le décrivez dans requirements.txt et conda-requirements.txt, il sera installé sans autorisation.
$ pip freeze > requirements.txt
Ou
$ conda list > requirements.txt
** Notez que mecab-python ne peut pas être installé avec pip ** (Je devrais peut-être augmenter la version de pip ??)
sh: 1: mecab-config:J'obtiens l'erreur introuvable
Donc mecab-python est installé manuellement sur heroku (assez brutal force ...)
En préparation pour cela, dans le référentiel local
```shell-session
$ curl -O https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
$ tar zxfv mecab-python-0.996.tar.gz
$ rm https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz
Extrayez mecab-python.
Changez également
'mecab-config' dans setpu.py dans mecab-python-0.996 en `` `` / app / .linuxbrew / bin / mecab-config'
. (Source de référence: http://qiita.com/saicologic/items/ab70e14f7e2ec2ee0b4d)
Une fois toutes ces choses terminées, déployez avec bash.
$ heroku config:add LD_LIBRARY_PATH=/app/.linuxbrew/lib
$ heroku config:set MECAB_PATH=/app/.linuxbrew/lib/libmecab.so
$ git add .
$ git commit -m 'initial'
$ git push heroku master
Après le déploiement, installez manuellement mecab-python sur heroku.
$ heroku run bash
~/ cd mecab-python-0.996
~/ python setup.py build
~/ python setup.py install
D'ACCORD ... Enfin, démarrez python sur heroku et vérifiez si l'importation MeCab peut être effectuée.
Vous pouvez maintenant utiliser python + scikit-learn + mecab sur heroku, mais la taille du fichier est gâchée ...
Je pense que le 300M gratuit est assez difficile ... (Source de référence: http://qiita.com/shouta-dev/items/cd538a77f2b729333025)
Recommended Posts