suzukiyou blog

建築設計とかpythonとかその辺をとりあえずする

Windows7 64bitでPython2.7+numpy+matplotlib+ipythonを入れる

Windows7 64bitを入れなおした

Linuxで開発するほうが楽なんじゃねーのと思い始め、最近になってようやく仮想化マシンを導入することに決めた。
で、VirtualBox+Ubuntu14.04(32bit)を入れてみたら環境的には楽になってるのだが、重くてしんどい。
ホストメモリ4GBで半分の2GBをゲストに割り当てても厳しいものは厳しい。
それでメモリ増設しようという流れになったが、Windows7 32bitではメモリが4GBまでしか認識しない。
仮想化マシンを導入したことでメイン機が32bitである必要もなくなったため
めんどうながらWindows7 64bitを入れなおした。

IPython導入覚書

前回のPCがWindows7 64bitでこのときよくわかってなかったのでIPythonを入れられなかった。
3年ぶりにリベンジした。

手順はこう。

  1. Python2.7 64bitを入れる
  2. pipを使用可能にする
  3. whlでnumpyその他をインストールする
Pythonを入れる

公式Python Releases for Windows | Python.orgに飛ぶ。
Windows x86-64 MSI installerとかをダウンロードしてインストーラを実行する。

パス通す。環境設定のPathに

;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Scripts

を付け足す。

get-pip.pyする

Python - いつの間にかpipのインストールが楽になってた件 - Qiita参照。

まずtempディレクトリを作ってコマンドプロンプトで移動しておく。
今回はC:\work\150426などとしました。

次にget-pip.pyをとってきて実行する。
Installation — pip 6.1.1 documentationのget-pip.pyをダウンロードしてきてtempディレクトリにget-pip.pyとして保存。
実行する。

python get-pip.py

これでpipまで入りました。pipの実行ファイルはC:\Python27\Scriptsに入っている。

whlでnumpyその他をインストールする

Gohlkeさんの非公式バイナリwhlをさっきインストールしたpipを使ってインストールします。
なんかインストーラー版が昔あったような気がしましたが、今回見つけられなかった。
ローカルのwhlからのインストールを覚えとけばたぶんvirtualenv環境でも何とかなるだろうという考えでした。

Python Extension Packages for Windows - Christoph Gohlkeへ行き、必要なパッケージをダウンロードする。
環境としてはpy2.7 win-amd64となるので、そんな感じのやつをダウンロードする必要がある。
noneとかanyとか書いてるやつは環境を指定していないという意なので気にせずダウンロード。
今回は以下のパッケージをダウンロードする。ダウンロードしたやつはtempディレクトリにコピーするなり移動するなりする。

  • numpy 1.9.2
  • Pillow 2.8.1
  • scipy 0.15.1
  • python_dateutil 2.4.2
  • pytz 2015.2
  • pyparsing 2.0.3
  • six 1.9.0
  • setuptools 15.1
  • matplotlib 1.4.3
  • pyzmq 14.6.0
  • certifi 14.5.14
  • backports.ssl_match_hostname 3.4.0.2
  • tornado 4.1
  • pyreadline 2.0 #
  • pygments 2.0.2
  • markupsafe 0.23
  • jinja2 1.2
  • mistune 0.5.1
  • rpy2 2.5.6
  • pycairo 1.10.0
  • pyqt4 4.11.3
  • ipython 3.1.0
  • vertualenv 12.1.1

先ほどのtempディレクトリに移動して、

pip install numpy-1.9.2+mkl-cp27-none-win_amd64.whl

などとしてやればok。これでパッケージがインストールされる。
現在インストールされているパッケージは

pip freeze

で確認できる。
パッケージをアンインストールしたい場合は

pip uninstall パッケージ名

でアンインストールできる。
パッケージ間には依存関係があるので注意する。
具体的には以下のように依存している。たとえばmatplotlibを入れるためにはsixとかpytzとかが必要。

  • matplotlib:numpy, dateutil, pytz, pyparsing, six, setuptools
  • ipython:setuptools, pyzmq, tornado, pyreadline, pygments, markupsafe, jinja2, mistune, rpy2, pycairo, matplotlib, pyqt4 or pyside,
  • tornado:certifi and backports.ssl_match_hostname.

今回はほかのパッケージに依存していないものを先にインストールしていったが、実際いきなりipythonをインストールしても、whlファイルがtempディレクトリにあるならpipが認識してそこからインストールしてくれるかもしれない。

virtualenv覚書

ついでにvirtualenvを入れたので使い方を忘れぬうちに書く。

virtualenv env1

とするとカレントディレクトリにenv1ディレクトリができる。
仮想環境モードにするには

Scripts\activate.bat

を実行。ここでpip install なんとかしていけばよい。
仮想環境を終了するときは

Scripts\deactivate.bat

とする。

気になること

現在virtualenv仮想環境にてpipを使うとurllib3がInsecurePlatformWarningを吐く。よくわからんけどとりあえずsixぐらいだったらインストールできたのでまたなんか引っかかったら考えよう。