Wie man Pythons Scikit-Learn + Mecab mit Heroku benutzt.
Heroku hat Heroku-Buildpack-Mecab für den Umgang mit Mecab in Ruby, aber nicht für Python. Verwenden Sie also heroku-buildpack-linuxbrew, um das Installations-Mecab zu brauen.
Außerdem kann heroku-buildpack-python keine Bibliotheken installieren, für die ein c-Compiler erforderlich ist, z. B. scipy und scicit-learn. Stattdessen installiert heroku-buildpack-conda Miniconda anstelle von Python, um diese Pakete zu installieren.
Um mit diesen mehreren Buildpacks umgehen zu können, müssen Sie eine App mit heroku-buildpack-multi erstellen.
Zuerst im lokalen Repository für Heroku
$ git init
$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-multi
Erstellen Sie eine App mit.
Erstellen Sie dann .buildpacks in Ihrem lokalen Repository
.buildpacks
https://github.com/kennethreitz/conda-buildpack.git
https://github.com/sunny4381/heroku-buildpack-linuxbrew.git
Schreiben und speichern. buildpack-multi installiert das in dieser Datei aufgeführte Buildpack.
Erstellen Sie eine .cellar im selben Verzeichnis
.cellar
mecab
mecab-ipadic
Schreiben und speichern. buildpack-linuxbrew installiert die in dieser Datei aufgeführten Anwendungen.
Die Bibliotheken, die Sie mit pip und conda installieren möchten, sind jeweils Wenn Sie es in den Anforderungen.txt und conda-require.txt beschreiben, wird es ohne Erlaubnis installiert.
$ pip freeze > requirements.txt
Oder
$ conda list > requirements.txt
** Beachten Sie, dass Mecab-Python nicht mit Pip installiert werden kann ** (Vielleicht sollte ich die Version von Pip erhöhen?)
sh: 1: mecab-config:Ich bekomme den Fehler nicht gefunden
Also wird Mecab-Python manuell auf Heroku installiert (ziemlich brutale Gewalt ...)
In Vorbereitung darauf im lokalen Repository
```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
Mecab-Python extrahieren.
Ändern Sie auch `'mecab-config'``` in setpu.py in mecab-python-0.996 in`
/ app / .linuxbrew / bin / mecab-config'```. (Referenzquelle: http://qiita.com/saicologic/items/ab70e14f7e2ec2ee0b4d)
Nachdem all diese Dinge erledigt sind, stellen Sie sie mit bash bereit.
$ 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
Installieren Sie mecab-python nach der Bereitstellung manuell auf heroku.
$ heroku run bash
~/ cd mecab-python-0.996
~/ python setup.py build
~/ python setup.py install
OK ... Starten Sie schließlich Python auf Heroku und prüfen Sie, ob der Import von MeCab möglich ist.
Jetzt können Sie Python + Scikit-Learn + Mecab auf Heroku verwenden, aber die Dateigröße ist durcheinander ...
Ich finde, dass die kostenlosen 300M ziemlich hart sind ... (Referenzquelle: http://qiita.com/shouta-dev/items/cd538a77f2b729333025)
Recommended Posts