Errors while building/installing C module for Python 2.7

I'm trying getting the following errors while trying to install/compile ctools for python (version info)

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
  • OS: Windows 7 Professional 64-bit (Service Pack 1)
  • Installed: Microsoft Visual C++ 2008 Express Edition
  • Error:

    building 'deap.cTools' extension
    Traceback (most recent call last):
      File "setup.py", line 40, in <module>
        cmdclass = {'build_py': build_py}
      File "C:Python27libdistutilscore.py", line 152, in setup
        dist.run_commands()
      File "C:Python27libdistutilsdist.py", line 953, in run_commands
        self.run_command(cmd)
      File "C:Python27libdistutilsdist.py", line 972, in run_command
        cmd_obj.run()
      File "C:Python27libdistutilscommandinstall.py", line 563, in run
        self.run_command('build')
      File "C:Python27libdistutilscmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "C:Python27libdistutilsdist.py", line 972, in run_command
        cmd_obj.run()
      File "C:Python27libdistutilscommandbuild.py", line 127, in run
        self.run_command(cmd_name)
      File "C:Python27libdistutilscmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "C:Python27libdistutilsdist.py", line 972, in run_command
        cmd_obj.run()
      File "C:Python27libdistutilscommandbuild_ext.py", line 340, in run
        self.build_extensions()
      File "C:Python27libdistutilscommandbuild_ext.py", line 449, in build_extensions
        self.build_extension(ext)
      File "C:Python27libdistutilscommandbuild_ext.py", line 499, in build_extension
        depends=ext.depends)
      File "C:Python27libdistutilsmsvc9compiler.py", line 473, in compile
        self.initialize()
      File "C:Python27libdistutilsmsvc9compiler.py", line 383, in initialize
        vc_env = query_vcvarsall(VERSION, plat_spec)
      File "C:Python27libdistutilsmsvc9compiler.py", line 299, in query_vcvarsall
        raise ValueError(str(list(result.keys())))
    ValueError: [u'path']
    

    I've installed PyWin as suggested in here, but it didn't help. I'd appreciate help sorting out this issue.

    Edit

    Same issue arises when trying to install scikit-learn

      File "C:Python27libdistutilsmsvc9compiler.py", line 299, in query_vcvarsall
        raise ValueError(str(list(result.keys())))
    ValueError: [u'path']
    

    I summarized above in my blog. http://springflex.blogspot.com/2014/02/how-to-fix-valueerror-when-trying-to.html

    To install Visual Studio 2008 Express Edition with all required components:

  • Install Microsoft Visual Studio 2008 Express Edition. The main Visual Studio 2008 Express installer is available from (the C++ installer name is vcsetup.exe):

  • Install the Microsoft Windows SDK. The Microsoft Windows SDK is available by searching Microsoft's download site, or by going directly to: http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en

  • To verify that you have all installed components, check that the Microsoft SDK contains the "amd64" version of the C/C++ compiler "cl.exe". This is usually installed into

    C:Program Files (x86)Microsoft Visual Studio 9.0VCbinamd64cl.exe
    
  • copy .../VC/bin/vcvars64.bat to .../VC/bin/vcvarsamd64.bat

  • copy .../VC/bin/vcvars64.bat to .../VC/bin/amd64/vcvarsamd64.bat


  • Since you're using the 64 bit version of Python, once you have installed Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (which installs the 64bit compiler that isn't installed when installing Visual Studio 2008 SP1 Express Edition); You need to copy the vcvars64.bat to a location where vcvarsall.bat claims it to be.

    From %CSIDL_PROGRAM_FILESX86%Microsoft Visual Studio 9.0VCbin , you need to copy vcvars64.bat to amd64vcvarsamd64.bat .

    Note the amd part in the destination file name.


    Microsoft now publishes a Visual C++ compiler just for Python 2.7, although it will work for other versions of Python that used the same compiler. Check the system requirements: setuptools 6.0 or later is required. It will not work with packages using distutils.

    链接地址: http://www.djcxy.com/p/26298.html

    上一篇: 用cython和mingw编译会产生gcc:error:无法识别的命令行选项'

    下一篇: 为Python 2.7构建/安装C模块时出错