Windows 10 et l'Impossibilité de trouver vcvarsall.chauve-souris
Quand j'essaie de compiler un package:
C:\Linter\intlib\PYTHON>python setup.py build
J'obtiens ce message d'erreur:
l'exécution de construire
de course build_ext
bâtiment "LinPy' extension
erreur: Impossible de trouver vcvarsall.chauve-souris
C'est ma version de Python:
Python 3.4.4 (v3.4.4:737efcadf5a6, Déc 20 2015, 20:20:57) [MSC v. 1600 64 bits (AMD64)] sur win32
Et je travaille sur Windows 10 x64. Je sais que sur cette fil et des dizaines d'autres (comme cette et cette et la liste est longue). Donc, je crois que j'ai essayé presque tout, mais rien ne fonctionne. Il semble que tous ces threads sont devenus obsolètes, donc j'ai besoin d'une nouvelle réception. BTW. J'ai essayé ceci:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
Et ce (dans Visual Studio 2015 Invite de Commande Visual Studio):
set DISTUTILS_USE_SDK=1
J'ai regardé pour vcvarsall.bat
partout sur ma machine, mais ne pouvait pas le trouver.
J'ai étudié ce dossier C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools
, mais il ne contient pas de .bat
fichiers. De toute façon, après toutes mes manipulations python setup.py build
soulève encore la même erreur. Donc, j'ai besoin d'aide. Merci!
%VS140COMNTOOLS%
La méthode la plus simple et officiellement pris en charge l'environnement de compilation est VS 2010 Professionnel.
J'ai utilisé pour construire avec le VS 2010 Express et le SDK de Windows v7.1 (toutes les mises à jour appliquée dans le bon ordre), mais c'était une douleur pour construire une version x64 parce que j'ai eu à modifier manuellement les fichiers de projet pour séparer les win32 et amd64 sous-projets. Avec le kit de développement du compilateur, j'ai dû utiliser
SetEnv.cmd
pour /x86
ou /x64
, mais ne pouvais pas faire les deux.Si vous regardez ma version de Python (... MSC v. 1600 ...), vous verrez qu'il a été construit avec VS 2010. Mais je ne sais pas si c'est important.
c'est important en ce qu'une extension construite avec une autre version de Visual Studio liens vers un autre C runtime DLL qui dispose de son propre segment de mémoire (pour l'allocation de mémoire), I/O standard
FILE
de flux, et de faible I/O descripteurs de fichiers. Donc c'est potentiellement un problème. Dans votre question, vous parlez de "Visual Studio 2015 Invite de Commande Visual Studio" (utilisé pour Python 3.5), de sorte qu'il n'est pas évident que vous avez Visual Studio 2010 est installé, ou la version de VS2010 est installé.OriginalL'auteur Jacobian | 2016-05-30
Vous devez vous connecter pour publier un commentaire.
Le problème est causé parce que vous n'avez pas de compilateur installé pour le réceptif construire vous essayez d'exécuter.
La suivante est ce que vous pouvez exiger que par le MS Python communauté des ingénieurs,
Vous aurez besoin de les installer: Windows SDK pour Windows 7 et .NET 4.0 ou VS 2010
Source: Comment faire face à la douleur des “impossible de trouver le vcvarsall.chauve-souris”
Bon à savoir, il a aidé 🙂
Malheureusement, ça n'aide pas. J'ai tout essayé et ça ne fonctionne toujours pas. Lorsque j'essaie d'installer Windows SDK for Windows 7, il est dit que j'ai besoin .NET 4.0, mais lorsque j'essaie de l'installer .NET 4.0, puis il dit que j'ai déjà .NET installé sur ma machine. Quand j'ai installer VS 2010, j'obtiens un fichier iso. qui contient de nombreux fichiers. Je ne sais pas quoi faire avec tout cela. La dernière liunk est également inutile. Comme je l'ai déjà dit dans ma question, j'ai essayé ce commmnd
set DISTUTILS_USE_SDK=1
VS invite de commande, mais il n'a pas d'effet.Cela devrait vous aider: link. Aussi après avoir WinSDK
l'installation de Visual C++ Outils de génération de 2015 (pas 2017) sur mon Windows 10 machine pour fabriquer Cython apps sur Python 3.6 a fonctionné pour moi. J'ai téléchargé le paquet landinghub.visualstudio.com/visual-cpp-build-tools. Je vous remercie.
OriginalL'auteur Ani Menon
J'ai fait une recherche pour un python roue de
LinPy
malheureusement, il y en avait aucun.Cython
a une très bonne solution pour la création d'un windows compilateur C/C++ pour les versions de python. Vous pouvez le trouver ici. Puisque vous avez déjà téléchargé le SDK/.NET framework, vous devriez aller de l'avant et de l'installer car il sera nécessaire dans le cadre de la procédure. Si votre système de rapports il y a déjà une version existante, vous pouvez la désinstaller, redémarrer et réinstaller.Un hackish alternative est à la recherche de
vcvars32.bat
ouvcvarsall.bat
(ces fichiers de commandes sont uniquement pour définir les 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 à faire un travail autour de coder en dur le chemin devcvars32.bat
ouvcvarsall.bat
dans lefind_vcvarsall
fonction deC:\Python34\Lib\distutils\msvc9compiler.py
, mais il manque une bibliothèque (ISL - Ensemble d'Entiers de Bibliothèque). Je pense que c'est parce que je suis en utilisant VC11.Je n'ai pas le SDK, mais vous pouvez les essayer et de voir ce qui se passe à partir de votre fin
piratage find_vcvarsall est la bonne façon pour moi lors de l'utilisation de vs_buildtools_2017. Distutils devrait mieux faire vraiment évoluer msvc9compiler.py pour un moderne.
OriginalL'auteur Moses Koledoye
Vous pouvez soulager vos douleurs avec les compilateurs Microsoft pour Python 3.4 par l'installation de mingwpy ou libpython (pas les deux):
pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy
conda install libpython
mingwpy
oulibpython
à construire une bibliothèque qui nécessitevcvarsall.bat
? Laisser quelques imaginaire de la bibliothèquefoobar
.Libpython de anaconda utilise mingw pour construire automatiquement vos extensions sans pré-configuration. Notez que si votre script de construction setup.py est l'aide de distutils, puis l'importation de setuptools sera monkey patch distutils pour de bonnes raisons.
Je n'ai pas utilisé mingwpy, mais les soi-disant dans winpython distro il fonctionne hors de la boîte, comme libpython dans anaconda.
La bibliothèque ne doit pas être dépendant directement sur vcvarsall.chauve-souris - c'est le compilateur de script d'installation.
Mais peut encore vous offrir une commande qui permettra de construire une bibliothèque. Avant tout cela ma commande ressemblait
python setup.py build
. Et maintenant, lors de l'utilisation demingwpy
oulibpython
comment il va ressembler? Va-il rester le même?OriginalL'auteur denfromufa
À utiliser mingwpy au lieu de la MSVC compilateur de créer un fichier nommé pydistutils.cfg dans le dossier %USERPROFILE% avec le contenu suivant:
voir aussi Comment utiliser de MinGW gcc compilateur lors de l'installation de Python package à l'aide de Pip?
OriginalL'auteur carlkl
Étape 1: Installation de Visual C++ 2010 Express à partir de
ici.
(Ne pas installer Microsoft Visual Studio 2010 Service Pack 1 )
Étape 2: Supprimer tous les Microsoft Visual C++ 2010 Redistributable forfaits à partir de Panneau de configuration\Programmes et Fonctionnalités. Si vous ne le faites pas, alors l'installation va échouer avec un obscur "erreur Irrécupérable lors de l'installation d'erreur".
Étape 3: Installation de la version hors ligne de Windows SDK for Visual Studio 2010 (v7.1) à partir de ici.
Ceci est nécessaire pour les extensions 64 bits. Windows a builtin de montage pour les ISOs comme Pismo.
Étape 4: Vous devez installer le fichier ISO avec Pismo File Mount Audit Package. Télécharger Pismo de ici
Étape 5: cliquez-Droit sur le fichier téléchargé et choisir montage avec Pismo. Par la suite, installez le Setup\SDKSetup.exe au lieu de setup.exe.
L'étape 6a: Créer un vcvars64.fichier bat dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 en changeant de répertoire C:\Program Files (x86)\Microsoft Visual Studio\VC\ sur l'invite de commande.
Type de commande dans l'invite de commande:
cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r
L'étape 6b:
Pour configurer cette fenêtre d'Invite de Commande pour la version 64-bit de commande de ligne de builds qui cible les plates-formes x86, à l'invite de commandes, saisissez:
vcvarsall x86</p>
OriginalL'auteur Asubiaro Toluwase Victor
À ajouter à ce que l'Ani Menon répondu et aborder Jacobien(OP) des problèmes qu'il avait dans la réponse... j'ai eu le même problème j'ai donc suivi ce StackOverflow post concernant la modification du numéro de version .NET dans le registre temporairement. C'est probablement une bonne idée de modifier la valeur de registre de retour après.
https://stackoverflow.com/a/33260090/4637870
Cet réussi à me procurer le passé .NET 4 n'est pas installé d'erreur, mais ensuite j'ai été présenté avec une autre erreur vers le fait que l'installation a échoué.
J'ai dû supprimer à la fois le x86 et le x64 instances de Microsoft Visual C++ 2010 Redistributable et de laisser le SDK installer pour moi. Après cela, j'ai pu faire tout le chemin à travers le programme d'installation sans erreur. C'est là que j'ai eu mes informations auprès de:
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é de courir pip sur le même forfait et le
error: Unable to find vcvarsall.bat
est allé.Maintenant, j'ai un
ValueError: ['path']
mais c'est un autre problème. Espérons que cette information vous aide à.Pour info sur ma configuration im fonctionnant sous windows 7 et python 3.4
OriginalL'auteur Benargee