Nach einem Update auf Python 3.7.0 (von 3.6.x) erhalte ich (und andere) die Warnung
/must>not&exist/foo:1: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
Ich verwende macOS. Das Update wurde vom Homebrew-Paketmanager ausgelöst.
Siehe auch hier unter: https://stackoverflow.com/questions/51137328/deprecationwarning-when-starting-vim-with-powerline-enabled-since-python-upgrade
Powerline verwendet das Modul imp
in Linter und Tests. Im regulären Code wird nur die Funktion __import__
verwendet. Dies muss noch geändert werden (um das Problem besser nicht zu schließen), aber das Beheben dieser Verwendungen würde nichts zur Behebung der Warnung beitragen. Wenn Sie eine Warnung von /must>not&exist/foo
Sie einen Fehler von imp
der von vim verwendet wird (speziell Zeile 6808
von src/if_py_both.h
), nicht von Powerline.
Anscheinend gibt es im Vim-Repo bereits ein
Problemumgehung unter https://github.com/vim/vim/issues/3117 :
Fügen Sie dies entweder zu ~/.vimrc
bevor Sie die Stromleitung importieren
if has('python3')
silent! python3 1
endif
oder stellen Sie silent!
vor den ersten Powerline-Importbefehl, wie z.
silent! python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
@erikw Es ist nicht erforderlich, allen Powerline-Befehlen silent
voranzustellen .
Du hast recht. Als ich es vorher versuchte, sah es so aus, als würde es für alle 3 benötigt, aber ich versuchte es erneut und nur das erste wird benötigt, wie erwartet. Ich habe meinen vorherigen Beitrag aktualisiert.
Vielen Dank!
Hilfreichster Kommentar
Problemumgehung unter https://github.com/vim/vim/issues/3117 :
Fügen Sie dies entweder zu
~/.vimrc
bevor Sie die Stromleitung importierenoder stellen Sie
silent!
vor den ersten Powerline-Importbefehl, wie z.