Python : comment éviter l'erreur error: Unable to find vcvarsall.bat

En utilisant le langage Python sur Windows, vous pourrez rencontrer le message suivant lorsque vous essayez d'installer un nouveau package : error: Unable to find vcvarsall.bat. Cette erreur est due au fait que les modules de Python sont en partie écrits en langage C ou C++. Lors de l'installation d'un module, un compilateur est requis et s'il n'est pas présent, ce message d'erreur s'affiche. Il existe plusieurs solutions pour résoudre ce problème.

Microsoft a développé un compilateur spécifique pour Python, Microsoft Visual C++ Compiler for Python. Il en existe plusieurs versions. C'est la version de Python installé sur votre système qui va déterminer quelle version du compilateur utiliser. Pour connaître la version du compilateur nécessaire, utilisez la commande python sans aucun argument dans l'invite de commande. Dans le résultat de la commande, vous trouverez la chaîne de caractères MSC suivi d'un numéro de version. C'est cette version qui correspond au compilateur à installer :
- MCV v.1500 : Visual studio 2008
- MCV v.1600 : Visual studio 2010
- MCV v.1700 : Visual studio 2012
- MCV v.1800 : Visual studio 2013
- MCV v.1900 : Visual studio 2015

Christoph Golke a créé des installeurs Windows pour les modules de Python les plus populaires. Vous trouverez la liste complète des packages à cette adresse : http://www.lfd.uci.edu/~gohlke/pythonlibs/. En utilisant ces installeurs, vous n'aurez pas besoin d'un compilateur. Dans le nom de chaque package, la chaîne de caractères cp suivie d'un nombre indique avec quelle version de Python le fichier est compatible.

Une autre solution consiste à installer un autre compilateur. Il existe par exemple le compilateur mingw32. Installez-le sur votre PC puis modifier la variable d'environnement Path de Windows pour y inclure le chemin vers le répertoire bin situé dans le dossier d'installation de mingw. Si par exemple vous avez installé mingw dans le dossier C:\programs\mingw\, vous devrez ajouter dans la variable d'environnement le chemin c:\programs\MinGW\bin;. Rendez-vous ensuite dans le répertoire \Lib\distutils situé dans le dossier d'installation de Python. Modifiez, ou créez s'il n'existe pas, le fichier distutils.cfg et ajoutez les lignes suivantes :
[build]
compiler=mingw32
Fermez l'invite de commande puis rouvrez-la pour que la nouvelle variable d'environnement soit prise en compte. Vous pouvez maintenant installer des modules.

Python