Windows版pythonのインストールでハマったのでメモ

2018-02-01 2018-01-31

唐突にchainerで遊びたくなったので、Windows環境にpythonをインストールすることにしました。

rubyなど他の言語もそうですが、基本的にWindows環境は開発環境には不向きです。Windows環境で何の問題も起きないのはC#、Java、PHPくらいじゃないでしょうか。

ということで普段はVM使って仮想環境で動かしているのですが、何年か前にTensorFlow動かした時にクソ重かった記憶があるので、今回はWindows版をインストールしてみることにしました。LinuxかMac使えば良いじゃんって話なんですが、手元に無かったのでそういうことになりました。

で、色々ハマったのでメモ書きです。

python64bit版入れたつもりが32bit版入れてた

つまづき第一歩。

https://www.python.org/downloads/
上記ページからダウンロード出来るのは32bit版になりますが、気づかずやってしまいました。

ということでアンインストールして64bit版をインストール。
https://www.python.org/downloads/windows/
downloads以下のwindows専用ページからは64bit版のインストーラーが普通にダウンロードできます。
「Windows x86-64 executable installer」ってやつ。

コマンドプロンプトの文字コードでハマった

pythonのインストールが完了したので、numpyからインストール。
pip install numpyって打つだけの簡単なお仕事。

と思ったら「UnicodeDecodeError」発生。
なんで文字コード?と思ったらそこがWindownのめんどくさいところ。コマンドプロンプトの文字コードが「Shift-JIS(932)」なので駄目らしい。

ということで、コマンドプロンプトに「chcp 65001」を打ち込んでUTF-8に変更。
閉じるとまた変更しなくちゃいけないから超めんどくさい。

やっぱりCentOSとかでやれば良かった。

Visual C++ 2015 Build Tools入れてなかった

やっと出来ると思ってpip install numpy打ったらまたエラー。
今度はc/c++のコンパイラが入ってないからエラーとのこと。
ご丁寧にURL付きでエラーを出してくれるので、そこは偉い。

http://landinghub.visualstudio.com/visual-cpp-build-tools

「Visual C++ Build Tools 2015」をダウンロードしてインストール。

これでやっと先に進める…。

failed with error code 1

はい、進めませんでした。
めんどくさすぎだろこれ。だからpythonあんまり流行らないんだよ。いい加減にしろ。

これはわからないのでインターネット先生のお力を拝借。どうやら、pip install numpyでインストールするのではなく、whlファイル落としてきて、それをpipでインストールした方が良いとのこと。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

ここで、対応するバージョン(pythonのバージョン&32bit/64bit)のwhlファイルを落として、「pip install ファイルパス」でインストール。
私の環境の場合は「numpy‑1.14.0+mkl‑cp37‑cp37m‑win_amd64.whl」。

ようやくSuccessfully installed numpy-1.14.0+mklの文字が…長かった。

pythonは色々めんどくさい

numpyだけでなく、scipyなども同様の形でハマるらしいので、この辺もwhlファイル落としてきてインストールしました。
調べてみると、pip installで簡単にインストールできるライブラリはかなり限定される模様。なにこれ超めんどくさい。

ですが、機械学習的な遊びをするには今のところpythonが色々と使い勝手良さそうなので、しばらくはこれに付き合うことにします。
ハマった人は参考にしてみてください。