windowsにpythonのxgboostを入れてみた話
xgboostのpythonをwindowsに入れようとして 引っかかった話
こいついっつも(ry
こちらを参考に、git cloneを行った。
少し前のバージョンを選択してサブモジュールもおっけ。
mingw64も入れてPATHも通した。
しかしうまくpipで入らない。
libxgboost.dll
がないという。これには見覚えがある。mxnetだ。
さすがは同じところが出しているモジュール、同じところで引っかかった(´・ω・`)
コンパイルができていないということだろう。
そのため、
cd xgboost
cp make/config.mk ./config.mk; make -j4
を行うもうまくいかない。
windowsなので、そもそもcpはcopyだ。
それも同名があるとうまくいかない。面倒だから手動コピーしてもってきた。名前も変えた。
それでもうまくいかない。
実は、makeはwindowsではmingw32-makeである。
そのため、うまくいかない。
ちなみにこれに直しても、ファイルが作れないとエラーが出る。
windowsではmakeは別名の動作が入っている場合がある。
これはいけないので、一度makeを上書きしてやる。
doskey make = mingw32-make
これで
make -j4
で排出されるエラーが減るはずだ。
また、
-p
についてエラーが出た。
これについては、Makefileのなかの記述が
mkdir -p
となっているせいである。
しかし最後まで取れなかったのが、
build.logger.o
がターゲットにできないというエラー。Makefileの記述を見てもわからなかった。
@make だから、配列入れてるのか……?
そもそもCとかC++は使わない人なんですよ。
ここから解決方法。
libxgboost.dll がないなら、コンパイル済みのをとってくればいいじゃない!!
※xgboostの方法でも書かれてる方法。
とりあえず、git clone まで終わらせておこう。
ここからlibxgboost.dlをとってくる。
これを該当箇所に置いてやれば、pip install が通るようになる。
やったぜ。
まぁた根本の解明ができなかったよ……。
ところで、mxnetもxgboostもそれなりに前にやったことなんだけど、改めてみたらアホやってるなあ、としみじみ。
もうすぐ二年目ですけれども、もうちっとなんとかなりたいっすね。
目標曖昧すぎてあれだけど。あれってなんだ。