web-dev-qa-db-fra.com

vcvarsall.bat nécessaire à la compilation de python manquante dans Visual Studio 2015 (v 14)

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?

51
Dorin

Assurez-vous que les outils communs C++ sont installés dans Visual Studio.

Programmes et fonctionnalités -> VS 2015 -> Change

 VS2015 setup

91
Bohdan

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.

5
R21

J'ai téléchargé les outils de compilation de Microsoft Visual C++ Lien ici et tout a bien fonctionné.

2
Bhanuday Birla

J'ai rencontré ce problème lorsque j'essayais de construire le paquet ujson avec Python 2.7 (compilé avec VS 2015). 

  • vcvarsall.bat: essayez de copier vsvars32.bat (à partir du même répertoire - "c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools") dans vcvarsall.bat. C'est tout ce dont vous avez besoin pour construire
  • un autre problème est la détection de la version de VS dans la fonction get_build_version () (distutils/msvc9compiler.py). Vous devez changer cette fonction pour retourner la bonne version de VS.

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 
1
Petr Peňás

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)

Solution d'exploitation Windows

La solution la plus simple serait de:

  • Accédez au URLhttp://aka.ms/vcpython27
  • Télécharger le compilateur Microsoft Visual C++ pour Python 2.7
  • Instantané:

 vcpython27

  • Version: 9.0.0.30729
  • Nom du fichier: VCForPython27.msi
  • Date de publication: 9/29/2014
  • Taille du fichier: 83.8 MB
  • 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.

  • Configuration requise:
    • Système d'exploitation pris en charge: Windows 7, Windows 8, Windows 8.1
    • Package redistribuable Microsoft Visual C++ 2008 SP1 (x86, x64) Windows 8 et versions ultérieures nécessitent Microsoft .NET Framework 3.5. Voir ici pour les instructions d'installation.
    • Espace disque requis: l'installation nécessite 380 Mo d'espace disque.
    • Packages Python Setuptools 6.0 ou version ultérieure est requis pour que Python détecte automatiquement ce package de compilateur . Wheel est recommandé pour la production de packages binaires préconstruits.
  • Instructions d'installation:
    • Installation et désinstallation Le package du compilateur s'installera par défaut uniquement pour l'utilisateur actuel et ne nécessite pas de privilèges d'administrateur. Pour installer pour tous les utilisateurs d'une machine, exécutez msiexec/i ALLUSERS = 1 à partir d'une invite de commande avec privilèges élevés.
    • Utilisation des outils de distribution Python. Les développeurs de packages Python doivent télécharger et utiliser ce compilateur pour produire des roues binaires pour leurs packages Python à télécharger vers PyPI. L'installation du paquetage wheel, la mise à jour vers setuptools 6.0 ou version ultérieure et l'ajout du téléchargement setup.py bdist_wheel à votre processus de construction produira les fichiers appropriés (n'oubliez pas de le faire pour les versions 32 bits et 64 bits).
    • Si un package Python que vous installez ne comporte pas de roue, vous pouvez installer ce package de compilateur sur votre propre ordinateur. Une fois que le compilateur est installé et que vous avez mis à jour setuptools 6.0 ou une version ultérieure, vous pouvez utiliser pip install pour créer et installer le paquet Python. Si vous gérez plusieurs machines et que vous devez installer le package Python sur chacune d'entre elles, vous devez installer le package de roue et utiliser pip wheel pour produire une roue pouvant être installée sur des machines sans nécessiter ce package.
  • Installez le paquet sur votre hôte local.
  • Installez le module Python 2.7} requis sans erreur.
0
DebanjanB

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
0
azathoth