会社から支給されているお仕事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
最後に
pythonのバージョンに拘らなくても良いのであれば、IPythonの公式webにあるように
1. Download and install Anaconda or the free edition of Enthought Canopy.
ってのがお勧めです。
*1:投げる相手が入ればの話だけど・・・