尝试构建基本python扩展示例失败(windows)
我在Win7 x64机器上运行Python 2.6和Visual Studio 2008。 当我尝试在python 2.6源代码发行版中的c“example\u nt”中构建基本的python扩展示例时,它失败了:尝试构建基本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",
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)匹配。这与注意事项重复,因此答案应该是搜索解决方案的终点(相对于另一个引用的停顿,它会随着时间的推移而变得陈旧)。请考虑在这里添加一个独立的概要,保持链接作为引用。