Problemas do compilador com pip durante a instalação numpy no Windows 8.1, 7 Enterprise e 7 Home Editions

Não consigo instalar o numpy via pip install numpy no meu computador executando o Python 3.4 devido a vários erros que recebo vinculados a problemas de compilação (esse é apenas o caso em uma instalação de 64 bits do Python).

Este é um problema que foi relatado extensivamente e eu tiveuma pergunta relacionada sobre incapaz de encontrar vcvarsall.bat. Eu testei isso em três máquinas limpas diferentes executando o Windows 8.1, 7 Enterprise e 7 Home Editions e ele sempre aparece.

A instalação do Visual Studio 2010 Express C ++ se livra do primeiro erro no link - ou seja, não é possível encontrar o vcvarsall.bat, mas lança uma próxima exceção que termina com um ValueError, como aqui:

  File "C:\Python34\lib\distutils\msvc9compiler.py", line 371, in initialize

    vc_env = query_vcvarsall(VERSION, plat_spec)

  File "C:\Python34\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall

    raise ValueError(str(list(result.keys())))

ValueError: ['path']

Eu segui issoconselho e corrigiu o arquivo como vinculado no fórum de discussão, o que resultou em um erro KEY_BASE.

  File "C:\Users\Matej\AppData\Local\Temp\pip_build_Matej\numpy\numpy\distutils\command\config.py", line 18, in <module>

    from numpy.distutils.mingw32ccompiler import generate_manifest

  File "C:\Users\Matej\AppData\Local\Temp\pip_build_Matej\numpy\numpy\distutils\mingw32ccompiler.py", line 36, in <module>

    from distutils.msvccompiler import get_build_version as get_build_msvc_version

  File "C:\Python34\lib\distutils\msvccompiler.py", line 638, in <module>

    from distutils.msvc9compiler import MSVCCompiler

  File "C:\Python34\lib\distutils\msvc9compiler.py", line 71, in <module>

    r"v%sA"

  File "C:\Python34\lib\distutils\msvc9compiler.py", line 67, in <listcomp>

    WINSDK_PATH_KEYS = [KEY_BASE + "Microsoft SDKs\\Windows\\" + rest for rest in (

NameError: name 'KEY_BASE' is not defined

Seguindo o conselho no mesmo link, adicionei a seguinte definição deKEY_BASE antes que a variável seja chamada em msvc9compiler.py:

KEY_BASE = r"Software\Microsoft\\"

O que resulta no erro final que não consegui solucionar:

  File "C:\Users\Matej\AppData\Local\Temp\pip_build_Matej\numpy\numpy\distutils\command\build_src.py", line 164, in build_sources

    self.build_library_sources(*libname_info)

  File "C:\Users\Matej\AppData\Local\Temp\pip_build_Matej\numpy\numpy\distutils\command\build_src.py", line 299, in build_library_sources

    sources = self.generate_sources(sources, (lib_name, build_info))

  File "C:\Users\Matej\AppData\Local\Temp\pip_build_Matej\numpy\numpy\distutils\command\build_src.py", line 386, in generate_sources

    source = func(extension, build_dir)

  File "numpy\core\setup.py", line 682, in get_mathlib_info

    raise RuntimeError("Broken toolchain: cannot link a simple C program")

RuntimeError: Broken toolchain: cannot link a simple C program

Eu tentei o seguinte, mas nada resolveu o problemaBroken toolchain erro:

esteligação que inclui um patch adicional para msvc9compiler.pyesteligação por Peter Cock (Isso ajuda na instalação de 32 bits do Python3.4)Tentei instalar usandoeasy_install como alguns usuários sugeriram, pode funcionar dessa maneira

NOTA 1: Estou ciente da solução alternativa usando os binários compilados nestelocal na rede Internet Estou procurando especificamente uma solução usando distutils, se houver. NOTA 2: Os logs de erros são obviamente maiores e eu os corto para facilitar a leitura.

questionAnswers(3)

yourAnswerToTheQuestion