HPCメモ

HPC(High Performance Computing)に関連したりしなかったりすることのメモ書き

python2.6@windows7 へ IPython を導入してみる

会社から支給されているお仕事PCには、某ソフトのインストール時に一緒に導入されたpython2.6が入ってるんですが、仕事の合間にちょろっと調査で使った時に


windowsコマンドプロンプトからコピペするのが激しく面倒


ということに今さらながら気付かされたので、IPythonを導入してみることにしました。

必要なツールの導入

パッケージによっては、Cコンパイラが必要になるため、VC++2008 expressを導入します。
インストーラはこちら
http://go.microsoft.com/?linkid=7729279

python2系列のwindows用バイナリはVS2008でビルドしているので、これより新しいバージョンでは不具合が起きるそうです。
参考URL: https://support.enthought.com/entries/26864394-Windows-Unable-to-find-vcvarsall-bat

実際に、最初はVS express 2013 for windows desktopを入れて試してたのですが、パッケージのビルドに失敗していました。

インストーラをダウンロードして起動したら後はお任せ設定で良いのでインストール方法自体は省略します。


VC++2008 expressには64bit用のコンパイラが含まれていないので、
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1をダウンロードしてインストールします。
インストーラはこちら
http://www.microsoft.com/en-us/download/details.aspx?id=3138

こちらも同様にインストール方法自体は省略。
ただし、サンプルとかドキュメントが2GB近くあったので、不要であればインストール対象から外した方が良いかもしれません。
私は実際に外してインストールしましたが、特に問題は起きていないです。


それから、こちらのURLにある、インストラクションの1.6に従ってバッチファイルをコピーします。
http://blog.victorjabur.com/2011/06/05/compiling-python-2-7-modules-on-windows-32-and-64-using-msvc-2008-express/

このファイルを

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat

こっちへコピーしてさらにファイル名を変えます

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat

なお、さきほどのインストラクションではさらにmsvccompiler.pyへ修正をしていますが、私の環境では不要でした。

PATHの設定

環境変数のPATHに、(もし無ければ)以下の設定を追加します。

C:\Python26;C:\Python26\Scripts;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC;

pipのインストール

python用のパッケージマネージャであるpipをインストールします。
公式webサイトにあるドキュメント(http://www.pip-installer.org/en/latest/installing.html)のとおり
get-pip.pyをダウンロードして、コマンドプロンプトから

> python get-pip.py

でインストール完了です。

ぐぐると、「setuptoolsを入れて easy_install pip する」という記事がみつかりますが
最近のバージョンはこれでOKだそうで。

ipythonのインストール

コマンドプロンプトから

>pip install ipython

これだけで本体はすんなりとインストールできます。

続けて、--pylabみたいな素敵な機能を使うためにパッケージを追加していきます。
といっても、基本的にpip installしてるだけですが。

>pip install pyzmq
>pip install jinja2
>pip install tornado
>pip install matplotlib

しかし、matplotlibのビルドはこんなエラーが出て失敗しました。

c:\users\(中略)\matplotlib\src\ft2font.h(16) : fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory

freetype2のヘッダが無いと言われてるので、入れればビルドできそうですが、matplotlib1.3.1はpython 2.6用のpre-buildパッケージがあるので、こっちを入れて回避します。
http://matplotlib.org/downloads.html

インストール完了後に、ンタラクティブシェルからimport matplotlibすると
dateutil, pyparsingが無いと言われるので、さらに追加インストールします。

>pip install python-dateutil
>pip install pyparsing

これで一応環境の構築は完了
あとはこんな感じのバッチファイルを用意して、ダブルクリックすれば、ブラウザ上になんか出てきます。

ipython notebook --pylab inline

これで、適当にインタラクティブで試したコードと結果をまとめて他の人にまる投げできるようなりました*1

最後に

pythonのバージョンに拘らなくても良いのであれば、IPythonの公式webにあるように

1. Download and install Anaconda or the free edition of Enthought Canopy.

ってのがお勧めです。

*1:投げる相手が入ればの話だけど・・・