Как мне указать easy install на vcvarsall.летучая мышь?


У меня уже установлен MSVC++ 2010 Express и мой vcvarsall.файл bat находится в C:Program FilesMicrosoft Visual Studio 10.0VC, который находится в моем системном пути. Когда я запускаю easy_install, он не может найти vcvarsall.летучая мышь.

Есть то, что мне нужно установить на мой distutils.cfg файл, чтобы указать его на мою установку MSVC++?

G:>easy_install hg-git
install_dir C:Python26Libsite-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:python26libsite-packageshg_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.1setup.py -q bdist_egg --dist-dir c:docume~1mlinlocals~1
tempeasy_install-fhraepdulwich-0.7.1egg-dist-tmp-qozily
error: Setup script exited with error: Unable to find vcvarsall.bat
1 45

1 ответ:

Я все еще хотел бы знать, где установить эту ссылку на vsvarsall.летучая мышь...

Ну, как писал Мартино, у вас должна быть установлена либо Visual Studio 2008, либо Visual C++ Express. Сказав это, я понимаю, что вы хотели бы знать, где Python ищет этот пакетный файл. Вы можете увидеть это, посмотрев на definition функции find_vcvarsall в distutils/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 обрабатывает папку на два уровня выше значения этой переменной как папку, содержащую файл vcvarsall.bat.

Смотрите также Мой другой ответ, который объясняет, почему вы не можете использовать MSVC++ 2010 для построения расширений для Python 2.6

Править: Файлы VC++ 2008 теперь упакованы в установщик из MS, который можно загрузить здесь. После установки vcvarsall.летучая мышь будет в C:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0