Попытка построить базовый пример расширения Python не удается (Windows) - PullRequest
2 голосов
/ 08 января 2011

У меня Python 2.6 и Visual Studio 2008, работающие на компьютере с Win7 x64.Когда я пытаюсь построить базовый пример расширения Python в c "example_nt", как это было найдено в дистрибутиве исходных кодов Python 2.6, происходит сбой:

python setup.py build

И это приводит к:

running build
running build_ext
building 'aspell' extension
Traceback (most recent call last):
  File "setup.py", line 7, in <module>
    ext_modules = [module1])
  File "C:\Python26\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Python26\lib\distutils\dist.py", line 975, in run_commands
    self.run_command(cmd)
  File "C:\Python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\Python26\lib\distutils\command\build.py", line 134, in run
    self.run_command(cmd_name)
  File "C:\Python26\lib\distutils\cmd.py", line 333, in run_command
    self.distribution.run_command(command)
  File "C:\Python26\lib\distutils\dist.py", line 995, in run_command
    cmd_obj.run()
  File "C:\Python26\lib\distutils\command\build_ext.py", line 343, in run
    self.build_extensions()
  File "C:\Python26\lib\distutils\command\build_ext.py", line 469, in build_extensions
self.build_extension(ext)
  File "C:\Python26\lib\distutils\command\build_ext.py", line 534, in build_extension
depends=ext.depends)
  File "C:\Python26\lib\distutils\msvc9compiler.py", line 448, in compile
self.initialize()
  File "C:\Python26\lib\distutils\msvc9compiler.py", line 358, in initialize
    vc_env = query_vcvarsall(VERSION, plat_spec)
  File "C:\Python26\lib\distutils\msvc9compiler.py", line 274, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: [u'path']

Что я могу сделать, чтобы это исправить?Любая помощь будет оценена

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Для Win7 x64 машина Python 2.6 (x64) машина, вам нужно установить
Microsoft Windows SDK для Windows 7 и .NET Framework 3.5 с пакетом обновления 1
Смотрите инструкции на
http://wiki.cython.org/64BitCythonExtensionsOnWindows

Коммерческая версия Visual Studio 2008 предназначена для Python 2.6, 2.7 и 2.8. на 32-битной установке x86.

0 голосов
/ 13 февраля 2015

Я бы не стал устанавливать для этого Windows SDK и VS 2008.

Я полагаю, что ваша проблема связана с тем, что в VS 2008 нет 64-битных компиляторов.Чтобы проверить это, найдите каталог, содержащий vcvarsall.bat (найдите его в каталоге VS 2008 C: \ Program Files (x86) \ Microsoft Visual Studio 9.0).Как только вы нашли vcvarsall.bat, откройте командную строку cmd в каталоге, в котором он находится, и введите .\vcvarsall.bat amd64 Если проблема не в этом, вы увидите Setting environment for using Microsoft Visual Studio 2008 x64 tools. Если это проблема, вы получите сообщение о чем-топо поводу конфигурации.Это легко исправить.

Экспресс-версия VS не имеет 64-битных компиляторов.Решение также состоит в том, чтобы установить SDK, но это грязно и ненадежно, поэтому MS предоставила все компиляторы вместе в одной загрузке: http://www.microsoft.com/en-gb/download/details.aspx?id=44266

После того, как вы загрузили компиляторы, вы можете следить за моим постом здесь, еслине работает прямо из коробки: pyusb 2.7 ошибка установки Windows

...