为什么我在Windows Vista 64中使用easy_install和Python 2.7安装Pylons 1.0的最后一行时出错?

3 python windows installation pylons easy-install

我尝试使用Windows Vista 64中的命令使用Python 2.7安装Pylons 1.0,但出现错误:easy_install

    raise ValueError(str(list(result.keys())))
ValueError: [u'path']
Run Code Online (Sandbox Code Playgroud)

以下是从命令提示符http://pastie.org/1190341到整个安装过程的链接

  • 为什么我会收到此错误?
  • 我该如何解决?
  • 即使我收到此错误,Pylons仍会工作吗?

pyf*_*unc 6

从错误:

File "C:\Python27\Lib\distutils\msvc9compiler.py", line 295, in q
uery_vcvarsall
    raise ValueError(str(list(result.keys())))
ValueError: [u'path']
Run Code Online (Sandbox Code Playgroud)

distutils查找名为vcvarsall.bat的文件.它运行它并获取批处理文件设置的include和lib目录.批处理文件根据您提供给它的平台设置环境.

vcvarsall.bat应该位于如下目录中:C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC

创建以下目录:

C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC\bin\amd64\C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat

在vcvarsamd64.bat中

调用"C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd"/ x64/Release

以上所有这些都设置了Windows工具链以与disutils一起使用.虽然你可能有64位python,但pypi上的大多数软件包都带有32位预编译的二进制文件.disutils需要使用您的编译器工具链来构建64位扩展.这就是所有这一切都出现的地方.

请看:

vcvarsamd64.bat和其他批处理文件的作用是设置libs,工具等可供disutils使用的路径.

[编辑:在v6中找不到setenv.cmd]

https://serverfault.com/questions/114998/vista-cmd-shell-thinks-its-windows-server-2008-debug