1.11.2013

WindowsでPythonのバージョンを切り替える

WindowsでPythonの2系と3系を任意に切り替えたかったのでそのときのメモ。
WindowsVista以降だとシンボリックリンク(MKLINK)が使用できるのでそれを利用してPythonのパスを切り替えるようにしてみた。
 まず前提としてPythonのインストール先をC:\Python直下にPython3.3とPython2.7がそれぞれPython33、Python27というようにインストールされているとする。
そうした場合に
cd /d %~dp0
if exist python rd python
mklink /d python c:\Python\Python%1

というbatファイルを作成し、仮にC:\Path\python_swap.batとする。ショートカットを2つ作成する。
ひとつは2系である2.7に変更するショートカットなので27というパラメータを追加するのでリンク先にC:\Path\python_swap.bat 27と入力する。
シンボリックリンクの作成は管理者権限が必要となるのでショートカットタブの詳細設定で管理者として実行のチェックを入れておく。
そうすることで毎回コンテキストメニューから管理者として実行を選択する必要がなくなる。
もうひとつのショートカットのリンク先に3系のC:\Path\python_swap.bat33と入力する。
作成したショートカットのうちのどちらかを実行すると直下にpythonというシンボリックリンクが作成されるのでこのリンクのパスを環境変数のPATHに追加する。ex.) C:\Pathpython;
これでpythonを呼び出したときのバージョンが任意に変更できるようになった。