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é.
Vous devez vous connecter pour publier un commentaire.
J'étais capable de reproduire toutes ces erreurs dans Windows 7 Professionnel (64 bits).
Votre dernière question (Cassé la chaîne d') est causée par plus manifeste de questions connexes. J'ai été en mesure de contourner ce problème en modifiant la ligne suivante (en msvc9compiler.py):
à
contournant ainsi si l'instruction qui suit immédiatement. Après ce changement de numpy compilé avec succès pour moi.
msvc9compiler.py
et l'insertion deKEY_BASE
suivi de changement dansmfinfo
? Je pense que j'ai peut-être fait une erreur dans l'une de ces étapes.Je pense que la solution la plus simple sera d'ouvrir l'invite de commande Visual Studio (vous ne devez pas les autres correctifs, juste la dernière version de Python 2 ou 3).
Plus précisément, dans votre menu Démarrer, vous devriez avoir quelque chose comme "Invite de Commande Visual Studio (2010)". Ouvrir ce programme (il va ouvrir une invite de commande), puis dans l'invite de commande, tapez:
Commentaires:
1) les Différentes versions de Python sont destinés à être compilé avec différentes versions de Visual Studio. Je pense que le Python gars que vous prévoyez pour compiler avec la version 2010 (je peux me tromper à ce sujet), donc, en essayant d'ouvrir le Visual Studio 2013 message peut ne pas fonctionner. Il se pourrait que la version la plus récente de Python commutation de compilateurs, mais je voudrais commencer par essayer de 2010 invite de commande.
2) Vous pouvez avoir plusieurs options d'invite de commandes. J'ai eu de la chance avec juste le strict os version "Invite de Commande Visual Studio (2010)"
3) installer Python 3.4, je pourrais simplement ouvrez un invite de commande, puis
mais pour Python 2.7, j'ai eu à utiliser cette invite de commande truc.
Si vous n'avez pas résolu le problème avec ces étapes, veuillez cocher cette solution simple qui m'a aidé à construire numpy:
Aller à Jurko du référentiel * dans lequel il est en train de colmater/améliorer les scripts pour construire avec MSVC et téléchargement de copier/coller les fichiers:
Liens:
https://bitbucket.org/jurko/cpython/src/b0962aec201e7d4b4f1ac32dbc130379ec6d943a/Lib/distutils/msvc9compiler.py?at=jurko/distutils_msvc_express_fix
https://bitbucket.org/jurko/cpython/src/b0962aec201e7d4b4f1ac32dbc130379ec6d943a/Lib/distutils/msvccompiler.py?at=jurko/distutils_msvc_express_fix
De les enregistrer dans le dossier "\Lib\distutils\ " de votre répertoire d'installation de python, par exemple: "C:\WinPython-64bit-3.4.3.2\python-3.4.3.amd64\Lib\distutils".
Il existe plusieurs autres solutions liées à cette question de la construction des modules python avec le pip/easy_install, par exemple: erreur: Impossible de trouver vcvarsall.chauve-souris
; Impossible de trouver vcvarsall.chauve-souris à l'aide de Python 3.3 dans Windows 8 qui semblent insolubles parfois.
Mon système: windows 7, windows sdk 7.1, vs2010 express avec sp1, python 3.4.3, 64 bits