Compilateur problèmes avec le pip au cours de numpy installer sous Windows 8.1, 7 Enterprise et 7 à la Maison d'Éditions

Je n'arrive pas à installer numpy via pip installer numpy sur mon ordinateur exécutant Python 3.4 en raison de diverses erreurs-je recevoir lié à la compilation des questions (Ce qui n'est le cas que sur une installation 64 bits de Python).

C'est un problème qui a été largement rendu compte et j'ai eu une question connexe à propos de l'impossibilité de trouver vcvarsall.chauve-souris. J'ai testé cela sur trois différents nettoyer les machines exécutant Windows 8.1, 7 Enterprise et 7 à la Maison d'Éditions et il revient toujours.

L'installation de Visual Studio 2010 Express C++ se débarrasser de la première erreur dans le lien - c'est à dire Incapable de trouver vcvarsall.chauve-souris, mais jette une exception suivante en terminant par une ValueError comme ici:

  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']

J'ai ensuite suivi cette conseils et patché le fichier lié dans le forum de discussion qui a abouti à une KEY_BASE erreur.

  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

Suivant les conseils donnés dans le même lien, j'ai ajouté la définition suivante de KEY_BASE avant la variable est appelée dans msvc9compiler.py:

KEY_BASE = r"Software\Microsoft\\"

Qui entraîne le message d'erreur final je n'étais pas en mesure de résoudre les problèmes suivants:

  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

J'ai essayé ce qui suit, mais rien n'a résolu le Broken toolchain erreur:

  • Ce lien qui comprend un nouveau patch pour msvc9compiler.py
  • Ce lien par Pierre du Coq (Ce qui contribue à sur 32 bits installer Python3.4)
  • Essayé d'installer à l'aide de easy_install que certains utilisateurs ont suggéré qu'il pourrait fonctionner de cette façon

NOTE 1: je suis conscient de la solution de contournement en utilisant les binaires compilés sur ce site web je suis spécifiquement à la recherche d'une solution à l'aide de distutils si il y en a un.
NOTE 2: Les journaux d'erreurs sont évidemment plus grands et je les coupe pour des raisons de lisibilité.

InformationsquelleAutor Matt | 2014-04-14