53 votes

Comment activer le support Python dans gVim sous Windows ?

J'essaie d'obtenir le support de Python dans gVim sous Windows. Existe-t-il un moyen d'y parvenir ?

Je l'utilise :

  • Windows XP SP3
  • gVim v. 7.3
  • Python 2.7.13 (binaires ActivePython via Windows Installer)

0 votes

Je ne sais pas ce qui s'est passé mais, lorsque j'ai réinstallé Python 2.7, il est supporté par gvim sans aucune modification.

1 votes

J'ai constaté que Vim se plantait instantanément si j'essayais d'utiliser la DLL 2.7.11, mais il semble fonctionner correctement avec la DLL 2.7.9.

0 votes

Gvim est 32bit, et python doit être 32bit aussi.

42voto

Daniel Points 417

J'ai eu le même problème, mais sous Windows 7, et un redémarrage ne l'a pas réglé.

J'avais déjà installé gVim 7.3. Au moment de la rédaction de ce document, la version actuelle de Python était 3.3, je l'ai donc installée. Mais :has ("python") et :has ("python3") renvoient toujours 0.

Après de nombreux essais et erreurs, j'ai déterminé que :

  • Si gVim est 32 bits, ce qui est généralement le cas même sous Windows 64 bits (vous pouvez le confirmer à l'aide de la commande :version), vous devez également installer python 32 bits.
  • Aucun redémarrage de Windows 7 n'est nécessaire
  • La version de python doit correspondre à la version pour laquelle gVim est compilé car il recherche un nom de DLL spécifique. Vous pouvez le déterminer à partir de la commande :version de gVim, qui donne quelque chose comme.. :

Compilation : cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_ NETBEANS_INTG -DFEAT_XPM_W32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 /Fo. \ObjGOLYHTR / / Ox /GL -DNDEBUG /Zl /MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_GUI_W32 -DDYNAMI C_ICONV -DDYNAMIC_GETTEXT -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl83.dll\" -DDYNAM IC_TCL_VER=\"8.3\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\" python27.dll \" -D FEAT_PYTHON3 -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\" python31.dll \" -DFEAT_PERL -DDYNAMI C_PERL -DDYNAMIC_PERL_DLL=\"perl512.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=19 1 -DDYNAMIC_RUBY_DLL=\"msvcrt-ruby191.dll\" -DFEAT_BIG /Fd. \ObjGOLYHTR / /Zi

Ce qui précède m'a permis de constater que je ne veux pas vraiment de python 3.3, mais plutôt 3.1 (ou 2.7). Après avoir installé python 3.1, :has ("python") renvoie toujours 0, mais :has ("python3") renvoie maintenant 1. Cela devrait signifier que les scripts basés sur python fonctionnent désormais !

J'imagine que les futures versions de gVim pourront être compilées avec d'autres versions de python, mais l'utilisation de cette méthode devrait vous permettre de déterminer quelle version est nécessaire.

2 votes

Ok, après de nombreuses installations frustrées de Python 3.5.1 64 bits et 32 bits et de nombreux redémarrages, ceci s'est avéré être la réponse...

37voto

David Points 3254

Habituellement, le support de python est intégré dans la distribution officielle de gvim.

Vous devrez cependant installer python : Téléchargements Python

pour vérifier si vim supporte python :

:echo has("python")

26 votes

Eh bien, j'ai lancé la commande mais elle renvoie '0'. Et c'est pourquoi j'ai posé la question.

5 votes

Comme je l'ai mentionné dans mon commentaire ci-dessus, cela fonctionne maintenant après avoir réinstallé Python et redémarré le système. La commande 'echo' renvoie 1 maintenant. Je pense que je dois choisir votre réponse comme LA RÉPONSE. Merci

3 votes

C'est peut-être l'ordre d'installation : J'ai installé Python 2.7.1 puis gvim et ça n'a pas marché. Puis j'ai réinstallé Python 2.7.1... et ça marche. Cela signifie donc que je dois installer gvim avant Python ?

27voto

Apreche Points 3852

J'ai rencontré ce problème sous Windows 7 64 bits. J'ai réalisé que j'utilisais Python 2.7.3 en 64 bits et vim 7.3-46 en 32 bits. J'ai réinstallé les deux en version 32 bits, puis j'ai redémarré l'ordinateur. Maintenant, cela fonctionne.

0 votes

Eh bien, ma machine à l'époque était une machine 32 bits. Votre cas est cependant intéressant.

0 votes

Assurez-vous également que vous avez ajouté l'exécutable au chemin.

11voto

Tuxmentat Points 752

Si vous avez installé Python via l'un des installateurs Windows, il est probablement compilé avec le support de Python 2.7. Vous pouvez le vérifier en exécutant :

:version

Il affichera toutes les options avec lesquelles Vim a été compilé. Le vôtre devrait dire quelque chose comme

+python/dyn +python3\dyn

Cela signifie que vous avez le support pour python 2.7 et 3.x. Si vous avez déjà 2.5, cela ne fonctionnera pas. Vous devrez effectuer une mise à niveau vers la version 2.7 ou 3.x.

0 votes

J'ai aussi ce problème, mais de façon plus marquée. :echo has("python") renvoie à 0 (comme le fait "python3" ce qui est, je suppose, ce que UtilSnips vérifie.

0voto

Brady Trainor Points 299

Quand j'ai tapé :version il a révélé que mon Vim n'était pas compilé avec Python. Peut-être parce que je ne disposais pas de Python (32 bits ?) à l'époque.

J'ai installé Python 32 bits comme suggéré, mais réinstaller Vim semblait nécessaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X