我尝试使用Windows Vista 64中的命令将Pylons 1.0与Python 2.7一起安装,但出现错误:easy_install
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
这是从命令提示符http://pastie.org/1190341指向整个安装过程的链接
- 为什么我会收到此错误?
- 我该如何解决?
- 即使我收到此错误,Pylons 也能正常工作吗?
我尝试使用Windows Vista 64中的命令将Pylons 1.0与Python 2.7一起安装,但出现错误:easy_install
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
这是从命令提示符http://pastie.org/1190341指向整个安装过程的链接
从错误:
File "C:\Python27\Lib\distutils\msvc9compiler.py", line 295, in q
uery_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
distutils 查找名为 vcvarsall.bat 的文件。它运行它并获取批处理文件设置的包含和 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
以上所有这些都设置了与 disutils 一起使用的 windows 工具链。虽然你可能有 64 位 python,但 pypi 上的大多数包都带有 32 位预编译的二进制文件。disutils 需要使用您的编译器工具链来构建 64 位扩展。这就是所有这一切的地方。
请看:
vcvarsamd64.bat 和其他批处理文件所做的是为 disutils 可以使用的库、工具等设置路径。
[编辑:在 v6 中找不到 setenv.cmd]
https://serverfault.com/questions/114998/vista-cmd-shell-thinks-its-windows-server-2008-debug
如果您已经安装了 x64 Visual Studio,您可以使用开始菜单中 Visual Studio 工具中的 cmd 工具。它将为您设置环境。
pylons 讨论列表中提到了一种解决方法:
它有点旧(2008 年),但由于您粘贴的输出显示编译 simplejson 失败,它似乎相关。您可以尝试遵循那里的建议,看看是否有帮助。
看起来您无法构建 C 扩展,这对 Windows 用户来说通常很困难。尝试为 Pylons 找到一个 Windows 工具包。或者,寻求有关安装 MinGW 的帮助,以便构建扩展。
我花了很多时间试图让 c++ 编译器在 64 位 Windows 上与 64 位 Python 一起工作。原来答案就在这里。
http://msdn.microsoft.com/en-us/library/ms246588(v=vs.90).aspx
再次运行 VS 2008 Professional 安装程序并确保在安装程序选项中选择了“X64 编译器和工具”。