python使っているとき、easy_installやpipでパッケージをインストールするときに
エラーがvcvarsall.batエラーが出てくる。
簡単な解決方法はVC2008を入れれば良いのだが、
今現在となるとかなり前のバージョンになるから最新版を使えるようにしたいところ。
ということで探してみたら、
distutils\msvc9compiler.pyのfind_vcvarsall関数で取得している事が分かった。
この中でやっていることはレジストリ情報からvsvarsall.batのありかを調べているので
現在使っているコンパイラでvcvarsall.batのあるパスを読み込むようにすればよい。
まずは、
from distutils.msvc9compiler import *
get_build_version()
これで現在のバージョンを調べる。
10.0なら
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\VC\ProductDir
ここに文字列で
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
を入れて、
find_vcvarsall()を実行してみて、
ちゃんと戻り値が得られている事をチェックする。
これで完了。