t0mmy.log

日々のコンピュータ周りのこと

Pythonの複数バージョン共存(Windows)

目的

WindowsにPython2とPython3の環境を共存させる。
Python3を使用していたが、Python2だとどう動くのか試してみたくなったため。
ついでにiPythonも使いたい。

候補

  1. シンボリックリンク的なバッチを作って使い分ける
  2. virtualenvを使う
  3. Python3.3からの機能のpy.exeを使う

2番目のvirtualenvを使う方法がいいかと思うが、今回は3番目を選択。

実際の方法

シンボリック的なバッチを作って使い分ける

参考:#84 複数バージョンのPythonをインストールする

virtualenvを使う

参考:#104 Windows環境でvirtualenvする

py.exeを使う

Python3.3をインストールすると、$ pyを使える。
Python2を使いたい時は$ py -2 hoge.pyとし、Python3を使いたい時は$ py -3 hoge.pyとする。
インストールの順番は、Python3 => Python2として、Python2のインストール設定で
Register ExtensionsはOFFにする。

iPythonを両方で使いたい

対話式で試せるiPythonはどちらでも使用できるようにしたい。
iPythonのインストールの方法は以下のようにする。

  1. ez_setup.pyをここからダウンロード
  2. ez_setup.pyを実行して、easy_installをインストール
  3. easy_installでpipをインストール
  4. pipでiPythonをインストール

ez_setup.pyを実行

Python3.3にPATHを通しておくと、Python3.3は$ python ez_setup.pyで実行できる。
Python2の方はPATHを通さず、$ py -2 ez_setup.pyで実行する。

easy_installでpipをインストール

Python3.3の方は$ easy_install pip(もしかしたらC:\Python33\ScriptsにPATHが必要かも)
Python2の方は$ c:\Python27\Scripts\easy_install pip

pipでiPythonをインストール

Python3.3は$ pip install ipython
Python2の方は$ c:\Python27\Scripts\pip install ipython
C:\Python27\ScriptsのPATHをC:\Python33\Scriptsよりも後ろにつける。
$ ipython3でPython3.3、$ ipythonでPython2のiPythonが起動する。