Comment utiliser de MinGW gcc compilateur lors de l'installation de Python package à l'aide de Pip?
J'ai configuré MinGW et distutils alors maintenant, je peux compiler les extensions à l'aide de cette commande:
setup.py install
De MinGW gcc compilateur sera utilisé et le paquet sera installé. Pour cela, j'ai installé MinGW et créé distutils.cfg fichier avec le contenu suivant:
[build]
compiler = mingw32
C'est cool, mais maintenant je voudrais utiliser tous les pip avantages. Est-il possible d'utiliser le même de MinGW gcc compilateur de la pip? De sorte que lorsque je l'exécute:
pip install <package name>
pip va utiliser MinGW du compilateur gcc et de compiler du code C en cas de besoin?
Actuellement j'ai cette erreur: Unable to find vcvarsall.bat
. Semble pip ne sait pas que j'ai compilateur gcc. Comment puis-je configurer pip pour utiliser le compilateur gcc?
- Une autre astuce: assurez-vous que le fichier est appelé distutils.cfg et pas distutils.cfg.txt. Parfois, Windows aime ajouter l' .txt extension lorsque vous effectuez un nouveau fichier texte.
Vous devez vous connecter pour publier un commentaire.
C:\MinGW\bin
à votre CHEMIN d'accèsPYTHONPATH\Lib\distutils
, créer un fichierdistutils.cfg
et ajouter ces lignes:[build]
compiler=mingw32
--compiler
option github.com/pypa/pip/issues/18 s'il vous plaît peser danserror: You should not use mingw32 for gcc >= 4.6.0. Use mingw64 instead, e.g.:python setup.py build_ext -c mingw64
j'ai modifié le[build]
entrée dans le distutils.fichier cfg pour lirecompiler=mingw32
et eu du succès.Même si le fichier de configuration permet de résoudre ce problème, il n'est pas toujours une option. J'ai eu le même problème pour mon installation de ligne de commande de processus et je n'étais pas en mesure de modifier les fichiers de configuration sur toutes les machines et python distributions.
C'est ma solution:
Pour mingw32 et des paquets, qui utilisent la VC++ par défaut:
Pour Visual C++ sur WinPython, qui utilise mingw32 comme valeur par défaut:
Peut-être que vous n'avez pas mis de distutils.cfg dans le bon emplacement? J'ai résolu le même problème de création d'un fichier appelé pydistutils.cfg à l'intérieur c:\Documents and Settings\myuser, avec le même contenu que la vôtre. J'ai fait de cette façon et ça fonctionne. HTH
[build] compiler = mingw32
dans mon msys le répertoire $HOME (c:\mingw\msys\1.0\home\<nom d'utilisateur>) et puis j'appelle pip à partir de l'intérieur de mon shell de msys. Cela fonctionne bien pour moi à la fois dans et hors de virtualenvs. @Paolo, il est logique que si vous utilisiez un CMD shell, puis vous le mettez dans le dossier %USERPROFILE%, ce qui est à la MAISON pour Windows.