jedi-vim 没有找到 python2 dist-packages,但是 python3 是的
jedi-vim doesn't find python2 dist-packages, but python3 yes
Jedi-vim 自动完成 python3 dist-packages,但找不到 python 2.7 dist-packages。我 运行 我的程序使用 python 2 没有问题。其他一切 运行 正确。我发现 vim 是 运行 python3。
我正在使用 Ubuntu 16.04,它安装了 python2.7 和 python3,但使用 python默认为 2.7。我已经为 python2 安装了带有 pip 的 jedi,以及带有 Bundle.
的 jedi-vim
有没有办法设置jedi-vim的路径来寻找python2个dist-packages?我是否需要使用 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'
已解决!
问题是我安装的 vim 支持 python3 而不是 python2。我认为是 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
Jedi-vim 自动完成 python3 dist-packages,但找不到 python 2.7 dist-packages。我 运行 我的程序使用 python 2 没有问题。其他一切 运行 正确。我发现 vim 是 运行 python3。
我正在使用 Ubuntu 16.04,它安装了 python2.7 和 python3,但使用 python默认为 2.7。我已经为 python2 安装了带有 pip 的 jedi,以及带有 Bundle.
的 jedi-vim有没有办法设置jedi-vim的路径来寻找python2个dist-packages?我是否需要使用 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'
已解决!
问题是我安装的 vim 支持 python3 而不是 python2。我认为是 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