3

Jedi-vim は python3 の dist-package に対してオートコンプリートを行いますが、python 2.7 の dist-packages を見つけることはできません。問題なくpython 2を使用してプログラムを実行します。他のすべては正しく実行されます。python3でvimが動いていることがわかりました。

python2.7 と python3 の両方がインストールされているUbuntu 16.04を使用していますが、デフォルトでは python2.7 を使用しています。Python2用のpipでjediをインストールし、バンドルでjedi-vimをインストールしました。

python2 dist-packages を探すために jedi-vim のパスを設定する方法はありますか? 代わりに python 2 を使用して vim をコンパイルする必要がありますか?

バージョンを変更しようとして、.vimrc ファイルに次の行を追加しました。

let g:jedi#force_py_version = 2

そして、私はこのエラーメッセージを受け取りました。

Error: jedi-vim failed to initialize Python: Could not setup g:jedi#force_py_ver
sion: jedi#setup_py_version: Vim(pyfile):E319: Sorry, the command is not availab
le in this version: pyfile /home/santi/.vim/bundle/jedi-vim/initialize.py (in fu
nction jedi#init_python[3]..<SNR>65_init_python, line 6)

ただし、バージョンを 3 に設定すると正常に動作します。

vim --バージョン:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 16 2016 10:50:38)
(...)
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl     -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl -lutil -lm

python (2.7): sys.path を出力

['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/santi/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/gtk-2.0']

python3 印刷 (sys.path)

['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']

.vimrc

Plugin 'davidhalter/jedi-vim'
4

1 に答える 1

0

解決しました!

問題は、python2ではなくpython3サポートでvimをインストールしたことです。Ubuntu 16.04 のデフォルトだと思います。次の方法で確認できます。

vim --version | grep python

出力すると次のようになります。

+cryptv          +linebreak       -python          +vreplace
+cscope          +lispindent      +python3         +wildignore

次に、これらのコマンドを実行して問題を解決できます。

sudo apt install vim-gnome-py2
sudo update-alternatives --set vim /usr/bin/vim.gnome-py2
sudo update-alternatives --set gvim /usr/bin/vim.gnome-py2

Pythonのプラスをもう一度確認してください

+cryptv          +linebreak       +python          +vreplace
+cscope          +lispindent      -python3         +wildignore

それでおしまい。私のために働いた

https://github.com/JBakamovic/yavide/blob/master/docs/FAQ.mdに感謝します

于 2017-02-21T03:41:44.563 に答える