Vim pour Windows: Python ne se charge pas correctement / “plante”

J’ai lutté pendant 2 jours pour installer des plugins utilisant python sur Vim (Windows). Même avec un stock vimrc.

Utiliser le binary officiel de vim 7.4 (x86)

  • J’ai vérifié qu’il est livré avec + python / dyn et + python3 / dyn
  • J’ai installé Python 2.7.10 x86 et ajouté le chemin de python dans mon environnement Path.
  • :echo has('python') imprime 1 comme prévu.
  • Pourtant: quand je tape :python print 'test' , vim se ferme, comme si j’avais tapé :q
  • :python mum tell me, why does windows exists? , ça s’arrête aussi. Vous vous demandez pourquoi … Pas un numéro d’ print au moins.

Utilisation des builds nocturnes de tuxproject de vim 7.4.826 (x86)

  • Il vient avec + python / dyn et + python3 / dyn. Aussi:

Bibliothèques utilisées: Perl 5.22.1, Python 2.7.10 , Python 3.4.3, Ruby 2.2.3, Lua 5.3.0, Tcl 8.6.4, libXpm.

Génial! C’est la version que j’ai téléchargée (2.7.10)! Attendez…

  • :echo has('python') imprime 1 comme prévu.
  • Mais, “Joyeux Noël!” dit vim.

Désolé, cette commande est désactivée, le module de site Python n’a pas pu être chargé. Windows n’est pas assez bon. Oh, et joyeux Noël!

Utiliser les builds de nuit de tuxproject de vim 7.4.826 (x64)

J’ai essayé d’utiliser le binary python de x64, en prenant soin de supprimer la version x86 de ma variable Path. Même problème que ci-dessus.

Utiliser vim 7.4.something (x64) de Kaoriya et vim de Veegee 7.4.803

Même problème que ci-dessus.

Qu’en est-il de la compilation de vim?

Les fenêtres.

Je ne suis pas si paresseux, eh bien oui, mais je vais essayer de le comstackr s’il n’y a pas d’autre solution. Je ne veux pas vraiment le comstackr s’il ne résout rien. Si seulement je pouvais au moins comprendre pourquoi ces problèmes se produisent …

D’accord, j’ai réussi à résoudre le problème.

Pour ceux qui pourraient être intéressés, la version python prévue était Python 2.7. 9 et non 2.7.10. L’installation de Python 2.7.9 x86 (et x64) a tout corrigé pour la version vim correspondante.

Tout d’abord, il faut vérifier la version de python compilée dans le vim. Une des manières est d’éditer l’exécutable de gvim (par exemple pour la fenêtre c’est gvim.exe), et chercher “python \ d * .dll \ c” comme mentionné dans le manuel de vim. Néanmoins, quand vous lancez :echo has('python3') || has ('python') :echo has('python3') || has ('python') , cela peut vous donner le conseil que vim ne peut pas trouver et charger python27.dll ou python32.dll, vous pouvez donc deviner que le python est compilé avec vim de cette manière.

Une fois que vous avez identifié la version de python requirejse et que votre python est installé sur un autre emplacement, vous pouvez spécifier l’emplacement de pythonthreedll pour laisser vim le trouver.

:set pythonthreedll=D:\installed\python\python35.dll

vérifiez à nouveau avec les éléments suivants: :echo has('python3')

J’ai aussi ce problème mais je n’ai pas eu à installer les versions précédentes.

Tout ce que je fais pour résoudre ce problème est de définir PYTHONHOME=C:\Users\MYUSERNAME\Anaconda2 dans les variables d’environnement de mon système! Vous devrez peut-être ajuster l’emplacement si vous n’avez pas utilisé Anaconda en tant qu’installateur Python.

Note: J’utilise python 2.7.11 et 3.5 (les deux sont installés via Anaconda 64-bit)

PS Veuillez vous assurer que PYTHONHOME est correctement saisi, sans traits de soulignement. Et il devrait indiquer l’emplacement de Python 2 uniquement. Ne pointez pas vers le dossier Python 3.

PPS. Il s’avère que si vous définissez PYTHONHOME , votre commande de travail python3 sur le terminal se bloquera, donc je ne le suggère plus.