Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试构建基本python扩展示例失败(windows)_Python_C_Build_Distutils - Fatal编程技术网

尝试构建基本python扩展示例失败(windows)

尝试构建基本python扩展示例失败(windows),python,c,build,distutils,Python,C,Build,Distutils,我在Win7 x64机器上运行Python 2.6和Visual Studio 2008。 当我尝试在python 2.6源代码发行版中的c“example\u nt”中构建基本的python扩展示例时,它失败了: python setup.py build 这导致: running build running build_ext building 'aspell' extension Traceback (most recent call last): File "setup.py",

我在Win7 x64机器上运行Python 2.6和Visual Studio 2008。 当我尝试在python 2.6源代码发行版中的c“example\u nt”中构建基本的python扩展示例时,它失败了:

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']
运行构建
运行build_ext
构建“aspell”扩展
回溯(最近一次呼叫最后一次):
文件“setup.py”,第7行,在
ext_模块=[module1])
文件“C:\Python26\lib\distutils\core.py”,第152行,在安装程序中
dist.run_命令()
文件“C:\Python26\lib\distutils\dist.py”,第975行,在run\u命令中
self.run_命令(cmd)
文件“C:\Python26\lib\distutils\dist.py”,第995行,在run_命令中
cmd_obj.run()
文件“C:\Python26\lib\distutils\command\build.py”,第134行,正在运行
self.run_命令(cmd_名称)
文件“C:\Python26\lib\distutils\cmd.py”,第333行,在run\u命令中
self.distribution.run_命令(command)
文件“C:\Python26\lib\distutils\dist.py”,第995行,在run_命令中
cmd_obj.run()
文件“C:\Python26\lib\distutils\command\build\u ext.py”,第343行,正在运行
self.build_扩展()
文件“C:\Python26\lib\distutils\command\build\u ext.py”,第469行,内部版本扩展名
自构建扩展(ext)
文件“C:\Python26\lib\distutils\command\build\u ext.py”,第534行,内部版本扩展名
dependens=ext.dependens)
文件“C:\Python26\lib\distutils\msvc9compiler.py”,第448行,在compile中
self.initialize()
文件“C:\Python26\lib\distutils\msvc9compiler.py”,第358行,在初始化中
vc_env=query_vcvarsall(版本、平台规范)
文件“C:\Python26\lib\distutils\msvc9compiler.py”,第274行,位于查询\u vcvarsall中
提升值错误(str(list(result.keys()))
ValueError:[u'path']

我能做些什么来解决这个问题?任何帮助都将不胜感激

对于Win7 x64机器Python 2.6(x64)机器,您需要安装
适用于Windows 7和.NET Framework 3.5 SP1的Microsoft Windows SDK
请参阅

商业VisualStudio2008适用于Python 2.6、2.7和2.8
在32位x86设置上。

我将避免为此安装Windows SDK和VS 2008

我相信你的问题是由于VS2008没有64位编译器。要检查此问题,请查找包含vcvarsall.bat的目录(在VS 2008目录中搜索它C:\Program Files(x86)\Microsoft Visual Studio 9.0)。找到vcvarsall.bat后,在它所在的目录中打开一个cmd提示符,然后键入
\vcvarsall.bat amd64
如果不是问题,您将看到
设置使用Microsoft Visual Studio 2008 x64工具的环境。
如果这是问题所在,您将收到一条关于配置的消息。这很容易解决

VS的快速版本没有64位编译器。解决方案是同时安装SDK,但它凌乱且不可靠,因此MS在一次下载中提供了所有编译器:

一旦您下载了编译器,如果它不能直接运行,您可以按照我的帖子进行操作:

确保您是从设置了适当环境变量的“Visual Studio命令提示符”运行的,并且您使用的Python版本与编译器的位(32/64)匹配。这与注意事项重复,因此答案应该是搜索解决方案的终点(相对于另一个引用的停顿,它会随着时间的推移而变得陈旧)。请考虑在这里添加一个独立的概要,保持链接作为引用。