J'essaie d'installer numpy dans Python 3.5 sous Windows 10 avec Visual Studio 2015 Ultimate installé.
Version abrégée: le fichier vcvarsall.bat
est manquant dans le dossier vs14 du dossier C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
. Pourquoi?
Version longue: Lancer pip install numpy
me donne cette erreur error: Unable to find vcvarsall.bat
la recherche de cette erreur m'a amené à plusieurs réponses de stackoverflow qui m'ont aidé à comprendre que python a besoin du compilateur c ++ pour compiler certains des paquets. Et il a besoin de le faire en utilisant la même version du compilateur que celle utilisée pour compiler Python 3.5 ( error: Impossible de trouver vcvarsall.bat ). Mon python est compilé avec [MSC v.1900 64 bit (AMD64)] - soit 14 (visual studio 2015)
En poursuivant mes recherches, j’ai appris de: pip install donne une erreur: Impossible de trouver vcvarsall.bat que get_build_version()
de $python_install_prefix/Lib/distutils/msvc9compiler.py
renvoie la version de vs qui devrait être utilisée pour trouver le chemin de vcvarsall.bat
Pour moi, cette méthode retourne 14. Donc, tout est correct.
Maintenant, lorsque je regarde dans le dossier C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
, le fichier vcvarsall.bat est manquant.
Mais quand je regarde dans le dossier C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
il y a un vcvarsall.bat.
Pourquoi vcvarsall.bat manque-t-il à la version 14.0?
J'ai déjà rencontré ce problème lors de l'installation de numpy. Bien que je ne sois pas en mesure de résoudre le problème 'vcvarsall.bat', j'ai découvert que je pouvais télécharger des bibliothèques compilées à partir d'ici: http://www.lfd.uci.edu/~gohlke/pythonlibs/ Téléchargez les bibliothèques de votre choix, naviguez où que se trouvent les fichiers .whl téléchargés et ouvrez une fenêtre d'invite de commande. lancez 'pip install [nom du fichier whl]' Ceci installera la bibliothèque pour vous sans problème de compilation.
J'ai téléchargé les outils de compilation de Microsoft Visual C++ Lien ici et tout a bien fonctionné.
J'ai rencontré ce problème lorsque j'essayais de construire le paquet ujson avec Python 2.7 (compilé avec VS 2015).
Il y a cette ligne:
majorVersion = int(s[:-2]) - 6
majorVersion est défini sur 13, mais la version correcte pour VS 2015 est 14. Vous devez donc ajouter deux lignes, par exemple:
if majorVersion == 13:
majorVersion = 14
Lors de l’installation d’un module Python 2.7 si vous faites face à l'erreur:
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)
La solution la plus simple serait de:
http://aka.ms/vcpython27
Détails:
Ce paquet contient le compilateur et le jeu d’en-têtes système nécessaires à la production de roues binaires pour les paquets Python. Une roue binaire d’un paquet Python peut ensuite être installée sur n’importe quel système Windows sans nécessiter l’accès à un compilateur C.
Le message d'erreur typique que vous recevrez si vous avez besoin de ce package de compilateur est Impossible de trouver vcvarsall.bat.
Ce message apparaît car le package Python en cours d'installation contient le code source d'un module d'extension natif (.pyd), mais ne dispose pas d'une copie prédéfinie du module. Les paquetages Python mis en avant sur pythonwheels.com ont déjà été mis à jour par leurs développeurs pour inclure des fichiers binaires pré-construits, mais beaucoup ne sont toujours disponibles qu'en code source.
Ce package de compilateur est entièrement non pris en charge et représente un instantané de la dernière version entièrement compatible avec Python 2.7. Pour les dernières corrections de sécurité et de bogues, veuillez utiliser la dernière version de Microsoft Visual Studio pour tout travail de développement qui n’interfère pas directement avec Python 2.7.
Je viens d'avoir le même problème (Windows 7, Python 3.4, pip 7.1)
pip install mysqlclient
(...)
error: Unable to find vcvarsall.bat
J'ai suivi ces instructions: https://www.linkedin.com/Pulse/resolving-python-error-unable-find-vcvarsallbat-bhanu-pratap-singh/
Puis mis à niveau pip à 9.0.1 avec
python -m pip install --upgrade pip
essayé à nouveau:
pip install mysqlclient
et voilà:
Successfully installed mysqlclient-1.3.12