web-dev-qa-db-fra.com

Windows 10 et Impossible de trouver vcvarsall.bat

Quand j'essaye de construire un paquet:

C:\Linter\intlib\PYTHON>python setup.py build

Je reçois ce message d'erreur:

course à pied

en cours d'exécution build_ext

construire l'extension 'LinPy'

erreur: impossible de trouver vcvarsall.bat

Ceci est ma version Python:

Python 3.4.4 (v3.4.4: 737efcadf5a6, 20 décembre 2015, 20:20:57) [MSC v.1600 64 bits (AMD64)] sur win32

Et je travaille sur Windows 10 x64. Je sais sur this thread et des dizaines d'autres (comme this et this et la liste continue). Donc, je suppose que j'ai presque tout essayé, mais rien ne fonctionne. Il semble que tous ces fils soient devenus obsolètes, alors j'ai besoin d'un nouveau reçu. BTW. J'ai essayé ceci:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Et ceci (dans l'invite de commande Visual Studio 2015 Visual Studio):

set DISTUTILS_USE_SDK=1

J'ai cherché vcvarsall.bat partout sur ma machine, mais je ne l'ai pas trouvé. 

J'ai examiné ce dossier C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools, mais il ne contient aucun fichier .bat. Quoi qu'il en soit, après toutes mes manipulations, python setup.py build pose toujours la même erreur. Alors j'ai besoin d'aide. Merci!

9
Jacobian

Le problème est dû au fait que vous n'avez pas de compilateur installé pour la version réceptive que vous essayez d'exécuter. 


Ce qui suit est ce que vous pouvez avoir besoin selon la communauté MS Python Engineering,

Python Version  |You will need
------------------------------------
3.5 and later   |Visual C++ Build Tools 2015 or Visual Studio 2015
3.3 and 3.4     |Windows SDK for Windows 7 and .NET 4.0
                |(Alternatively, Visual Studio 2010 if you have access to it)
2.6 to 3.2      |Microsoft Visual C++ Compiler for Python 2.7

Vous devrez installer: Windows SDK pour Windows 7 et .NET 4.0 ou VS 2010


Source: Comment faire face à la douleur de “impossible de trouver vcvarsall.bat”

20
Ani Menon

J'ai fait une recherche pour une roue de python de LinPy, malheureusement il n'y en avait aucune. 

Cython a une très bonne solution de contournement pour configurer un compilateur Windows C/C++ pour les constructions en python. Vous pouvez le trouver ici . Puisque vous avez déjà téléchargé le framework SDK/.NET, vous devez l’installer et l’installer, car il sera nécessaire dans le cadre de la procédure. Si votre système signale qu'il existe déjà une version existante, vous pouvez désinstaller, redémarrer et réinstaller.

Une alternative astucieuse consiste à rechercher vcvars32.bat ou vcvarsall.bat (ces fichiers de commandes servent uniquement à configurer des variables d’environnement pour la compilation) dans votre répertoire d’installation de Visual studio. Si vous n'en trouvez pas, vous devez installer le SDK. J'ai réussi à contourner le problème en codant en dur le chemin d'accès vers vcvars32.bat ou vcvarsall.bat dans la fonction find_vcvarsall de C:\Python34\Lib\distutils\msvc9compiler.py, mais il manque une bibliothèque (ISL - Integer Set Library). Je pense que c'est parce que j'utilise VC11. 

enter image description here

Je n'ai pas le SDK, mais vous pouvez essayer ceci et voir ce qu'il se passe de votre côté

4
Moses Koledoye

Vous pouvez soulager vos douleurs avec les compilateurs Microsoft pour Python 3.4 en installant mingwpy ou libpython (pas les deux):

pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy

conda install libpython

3
denfromufa

Pour ajouter à ce à quoi Ani Menon a répondu et s’attaquer aux problèmes de Jacobian (OP) qu’il avait en réponse ... J’avais le même problème et j’ai donc suivi ce message de StackOverflow concernant la modification temporaire du numéro de version de .NET dans le registre. C'est probablement une bonne idée de modifier la valeur du registre après.

https://stackoverflow.com/a/33260090/4637870

Cela a réussi à me faire passer l'erreur .NET 4 non installée, mais une autre erreur m'a été présentée, à savoir que l'installation échouait.

J'ai dû supprimer à la fois les instances x86 et x64 de Microsoft Visual C++ 2010 redistribuable et laisser le SDK l'installer pour moi. Après cela, je suis parvenu à effectuer tout le processus d’installation sans erreur. C'est de là que j'ai obtenu mes informations:

Forum: https://social.msdn.Microsoft.com/Forums/windowsdesktop/en-US/381299c9-1bf4-44d4-989c-871735c6b4ca/windows-sdk-for-windows-7-and-net-framework- 4-wont-install? Forum = windowssdk

Correctif: https://support.Microsoft.com/de-de/help/2717426/windows-sdk-fails-to-install-with-return-code-5100

J'ai essayé d'exécuter pip sur le même paquet et le error: Unable to find vcvarsall.bat est parti . Maintenant, j'ai un ValueError: ['path'] mais c'est un autre problème. J'espère que cette information aide.

Pour plus d'informations sur ma configuration sous Windows 7 et Python 3.4

0
Benargee

Étape 1: Installez Visual C++ 2010 Express à partir de here

(N'installez pas Microsoft Visual Studio 2010 Service Pack 1)

Étape 2: supprimez tous les packages redistribuables Microsoft Visual C++ 2010 dans Panneau de configuration\Programmes et fonctionnalités. Si vous ne le faites pas, l'installation échouera avec une erreur obscure "Erreur fatale lors de l'installation".

Étape 3: Installez la version hors connexion du Kit de développement logiciel (SDK) Windows pour Visual Studio 2010 (v7.1) à partir de ici . Ceci est requis pour les extensions 64 bits. Windows a intégré le montage pour les ISO comme Pismo. 

Étape 4: Vous devez installer le fichier ISO avec Pismo File Mount Audit Package. Téléchargez Pismo depuis ici

Étape 5: Faites un clic droit sur le fichier ISO téléchargé et choisissez le montage avec Pismo. Ensuite, installez Setup\SDKSetup.exe à la place de setup.exe.

Étape 6a: Créez un fichier vcvars64.bat dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\AMD64 en modifiant le répertoire pour C:\Program Files (x86)\Microsoft Visual Studio version\VC\on la commande Invite . Tapez la commande sur la commande Invite: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

Étape 6b: Pour configurer cette fenêtre d'invite de commande pour les générations de ligne de commande 64 bits qui ciblent les plates-formes x86, à l'invite de commande, entrez: vcvarsall x86</p>

0

Pour utiliser mingwpy au lieu du compilateur MSVC, créez un fichier nommé pydistutils.cfg dans le dossier % USERPROFILE% avec le contenu suivant:

[config]
compiler=mingw32
[build]
compiler=mingw32
[build_ext]
compiler=mingw32

voir aussi Comment utiliser le compilateur gcc de MinGW lors de l'installation du paquet Python à l'aide de Pip?

0
carlkl