Après une mise à jour vers Python 3.7.0 (provenant de 3.6.x), je (et d'autres) reçois l'avertissement
/must>not&exist/foo:1: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
J'utilise macOS. La mise à jour a été déclenchée par le gestionnaire de paquets Homebrew.
Voir aussi ici sur: https://stackoverflow.com/questions/51137328/deprecationwarning-when-starting-vim-with-powerline-enabled-since-python-upgrade
Powerline utilise le module imp
dans linter et les tests, dans le code normal, il utilise uniquement la fonction __import__
. Cela doit encore être changé (il vaut donc mieux ne pas fermer le problème), mais la correction de ces utilisations ne ferait rien pour corriger l'avertissement. Étant donné que vous voyez un avertissement de /must>not&exist/foo
vous voyez une erreur de imp
utilisée par vim (en particulier la ligne 6808
de src/if_py_both.h
), pas par powerline.
Il semble qu'il y ait déjà un problème dans le repo Vim pour résoudre ce problème .
Solution de contournement trouvée dans https://github.com/vim/vim/issues/3117 :
soit ajoutez ceci à ~/.vimrc
avant d'importer Powerline
if has('python3')
silent! python3 1
endif
ou préprendre silent!
à la première commande d'importation Powerline, comme:
silent! python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
@erikw Il n'est pas nécessaire d'ajouter silent
à toutes les commandes Powerline.
Vous avez raison. Quand j'ai essayé auparavant, il semblait que c'était nécessaire pour les 3, mais j'ai réessayé et seul le premier est nécessaire, comme prévu. J'ai mis à jour mon précédent post.
Merci!
Commentaire le plus utile
Solution de contournement trouvée dans https://github.com/vim/vim/issues/3117 :
soit ajoutez ceci à
~/.vimrc
avant d'importer Powerlineou préprendre
silent!
à la première commande d'importation Powerline, comme: