我在尝试为python(版本信息)安装/编译ctools时尝试获取以下错误
ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:22:14) [MSC v.1500 64 bit (AMD64)] on win32
错误:
building 'deap.cTools' extension
Traceback (most recent call last):
File "setup.py", line 40, in <module>
cmdclass = {'build_py': build_py}
File "C:\Python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\distutils\command\install.py", line 563, in run
self.run_command('build')
File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\distutils\command\build.py", line 127, in run
self.run_command(cmd_name)
File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\distutils\command\build_ext.py", line 340, in run
self.build_extensions()
File "C:\Python27\lib\distutils\command\build_ext.py", line 449, in build_extensions
self.build_extension(ext)
File "C:\Python27\lib\distutils\command\build_ext.py", line 499, in build_extension
depends=ext.depends)
File "C:\Python27\lib\distutils\msvc9compiler.py", line 473, in compile
self.initialize()
File "C:\Python27\lib\distutils\msvc9compiler.py", line 383, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
我按照here的建议安装了PyWin,但没有用。我很感激帮助解决这个问题。
修改
尝试安装scikit-learn
File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: [u'path']
答案 0 :(得分:20)
我在博客中总结了上述内容。 http://springflex.blogspot.com/2014/02/how-to-fix-valueerror-when-trying-to.html
使用所有必需组件安装Visual Studio 2008 Express Edition:
安装Microsoft Visual Studio 2008速成版。可以从(C ++安装程序名称为vcsetup.exe)获取Visual Studio 2008 Express主要安装程序:
安装Microsoft Windows SDK。通过搜索Microsoft的下载站点或直接访问以下内容,可以获得Microsoft Windows SDK: http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en
要验证是否已安装所有组件,请检查Microsoft SDK是否包含C / C ++编译器“cl.exe”的“amd64”版本。这通常安装在
中C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\cl.exe
将... / VC / bin / vcvars64.bat复制到... / VC / bin / vcvarsamd64.bat
将... / VC / bin / vcvars64.bat复制到... / VC / bin / amd64 / vcvarsamd64.bat
答案 1 :(得分:18)
由于您使用的是64位版本的Python,因此一旦安装了Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1(安装了Visual Studio 2008 SP1 Express Edition时未安装的64位编译器);您需要将vcvars64.bat
复制到vcvarsall.bat
声明的位置。
从%CSIDL_PROGRAM_FILESX86%\Microsoft Visual Studio 9.0\VC\bin\
开始,您需要copy vcvars64.bat
到amd64\vcvarsamd64.bat
。
请注意目标文件名中的 amd 部分。
答案 2 :(得分:1)
Microsoft现在发布了Visual C++ compiler just for Python 2.7,尽管它适用于使用相同编译器的其他Python版本。检查系统要求:需要setuptools 6.0或更高版本。它不适用于使用distutils的软件包。
答案 3 :(得分:0)
我遇到过这个问题,因为我没有64位版本的Visual C ++ 2008.为了解决这个问题,我在this answer之后通过程序和功能中的更改/删除安装了它。
答案 4 :(得分:0)
我遇到了同样的问题,但只是重命名上面列出的文件(以某种不透明的方式)并不适合我。什么工作是一个更容易的解决方案。只需在开始安装之前运行vcvarsall.bat。这设置了正确的路径,更容易理解。在我的情况下,我需要64位构建,所以我运行: &#34; C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat&#34; 64