web-dev-qa-db-ja.com

easy_installにvcvarsall.batを指定するにはどうすればよいですか?

既にMSVC++ 2010 Expressがインストールされており、vcvarsall.batファイルはC:\Program Files\Microsoft Visual Studio 10.0\VCにあります。これはシステムPATHにあります。 easy_installを実行すると、vcvarsall.batが見つかりません。

Distutils.cfgファイルでMSVC++インストールを指すように設定する必要があるものはありますか?

G:\>easy_install hg-git
install_dir C:\Python26\Lib\site-packages\
Searching for hg-git
Best match: hg-git 0.2.6
Processing hg_git-0.2.6-py2.6.Egg
hg-git 0.2.6 is already the active version in easy-install.pth

Using c:\python26\lib\site-packages\hg_git-0.2.6-py2.6.Egg
Processing dependencies for hg-git
Searching for dulwich>=0.6.0
Reading http://pypi.python.org/simple/dulwich/
Reading http://samba.org/~jelmer/dulwich
Reading http://launchpad.net/dulwich
Best match: dulwich 0.7.1
Downloading http://www.samba.org/~jelmer/dulwich/dulwich-0.7.1.tar.gz
Processing dulwich-0.7.1.tar.gz
Running dulwich-0.7.1\setup.py -q bdist_Egg --dist-dir c:\docume~1\mlin\locals~1
\temp\easy_install-fhraep\dulwich-0.7.1\Egg-dist-tmp-qozily
error: Setup script exited with error: Unable to find vcvarsall.bat
45
Mike M. Lin

私はまだvsvarsall.batへの参照を設定する場所を知りたいです...

まあ、Martineauが書いたように、Visual Studio 2008またはVisual C++ Expressのいずれかをインストールする必要があります。私はあなたがPythonこのバッチファイルを探す場所を知りたいと思っていることを理解したと言いました。distutils/のfind_vcvarsall関数の definition を見るとこれを見ることができますmsvc9compiler.py標準モジュール。Pythonキーの下のレジストリに保存されたフォルダーのいずれかを順番にチェックします

  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
  • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VCExpress\9.0\Setup\VC\ProductDir

(64ビットWindowsの場合)または

  • HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
  • HKEY_LOCAL_MACHINE\Software\Microsoft\VCExpress\9.0\Setup\VC\ProductDir

(32ビットWindows用)が存在し、存在する場合は、そのようなフォルダーをvcvarsall.batファイルを含むフォルダーとして扱います。これらのフォルダーが存在しない場合Python環境変数VS90COMNTOOLSがあるかどうかを確認します。この変数が存在する場合Pythonは、この変数の値の2レベル上のフォルダーを、 vcvarsall.batファイル。

MSVC++ 2010を使用してPython 2.6の拡張機能を構築できない理由を説明する other の回答も参照してください。

編集:VC++ 2008ファイルは、 here からダウンロードできるMSのインストーラーにパッケージ化されました。 vcvarsall.batをインストールすると、C:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0になります

57
Piotr Dobrogost