UltiSnips を除いて、Gundo や YouCompleteMe などのほとんどすべての Python ベースの vim プラグインで正常に動作する Python サポート付きの vim をコンパイルしました。驚くべきことに、同じ vim ドット ファイルを使用すると、ubuntu に同梱されている vim パッケージは UltiSnips で正常に動作します。したがって、コンパイルしたvimにpython関連の問題があると思います(vimのコンパイルまたはインストール時にエラーメッセージは表示されず、2つのvimインストールの間に競合はありません。)
このエラーは、vim が起動時にこのコマンドを実行しているときに発生します:コマンドラインでexec g:_uspy "from UltiSnips import UltiSnips_Manager"
入力しても同じです。:python from UltiSnips import UltiSnips_Manager
したがって、コンパイルされたvimと出荷されたvimの両方でこのコマンドを実行します。前者は失敗し、後者は成功します。
私はパイソンについてほとんど知りません。sys.path
しかし、モジュール ロード パス( ) が 2 つの vim インストール間で異なるかどうかを調べてみましたが、結果は同じでした! では、何が問題なのですか?コンパイルした vim は、python インターフェースを使ってほとんど何でもできます。いったいなぜ、この特定のモジュールをインポートできないのでしょうか??
PythonモジュールのロードパスにあるUltiSnipsのサブフォルダー「プラグイン」の内容は次のとおりです。
ultisnips/plugin
├── snipMate_compatibility.vim
├── UltiSnips
│ ├── compatibility.py
│ ├── compatibility_py2.py
│ ├── _vim.pyc
│ └── ......
└── UltiSnips.vim