Python 3.7.0(3.6.xから)へのアップデート後、私(およびその他)は警告を受け取ります
/must>not&exist/foo:1: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
私はmacOSを実行しています。 更新はHomebrewパッケージマネージャーによってトリガーされました。
こちらもご覧ください: //stackoverflow.com/questions/51137328/deprecationwarning-when-starting-vim-with-powerline-enabled-since-python-upgrade
Powerlineはリンターとテストでimp
モジュールを使用しますが、通常のコードでは__import__
関数のみを使用します。 これはまだ変更する必要がありますが(問題を閉じない方がよい)、これらの使用法を修正しても警告を修正することはできません。 /must>not&exist/foo
からの警告が表示されるとすると、 powerlineではなくvim (具体的にはsrc/if_py_both.h
行6808
で使用されるimp
からのエラーが表示されます。
https://github.com/vim/vim/issues/3117にある回避策:
電力線をインポートする前に、これを~/.vimrc
に追加してください
if has('python3')
silent! python3 1
endif
または、次のように、最初の電力線インポートコマンドの前にsilent!
を追加します。
silent! python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
@erikwすべての電力線コマンドの前にsilent
を追加する必要はありません。
あなたが正しい。 3つすべてに必要であるように見える前に試したところ、もう一度試したところ、予想どおり、最初の1つだけが必要でした。 以前の投稿を更新しました。
ありがとう!
最も参考になるコメント
https://github.com/vim/vim/issues/3117にある回避策:
電力線をインポートする前に、これを
~/.vimrc
に追加してくださいまたは、次のように、最初の電力線インポートコマンドの前に
silent!
を追加します。