VIM:在python-mode中使用Python3解释器

12

我最近转用vim,并使用教程将其配置为Python编程工具。之前,我确保了vim支持python3(vim --version显示+python/dyn和+python3/dyn),参考文章。

但是,当从python-mode执行文件时,仍然选择了python2.7解释器。

如何配置vim(或python-mode)以在python3解释器上运行文件?

我的操作系统是Ubuntu 14.04 x64。

谢谢!


1
你尝试过let g:pymode_python = 'python3'吗? - mata
4个回答

21

尝试将此内容添加到您的 .vimrc 文件中

let g:pymode_python = 'python3'

我在帮助文档中找到了这个。在vim中输入:

:help python-mode

默认情况下,vim不支持python3编译,所以当我尝试使用时,会出现各种错误......这告诉我它正在尝试使用python3。但是,如果你的 vim --version 输出显示了+python3,那么就没问题了。

编辑:默认情况下,Ubuntu 14.04没有+python3支持。并且由于限制,您不能同时具有python2和python3支持。

因此,您必须使用python3支持编译vim。

以下是适用于我的步骤:从Linux命令行:

安装软件包

sudo apt-get install checkinstall mercurial python-dev python3-dev ruby ruby-dev libx11-dev libxt-dev libgtk2.0-dev libncurses5 ncurses-dev

获取最新版的vim

hg clone https://vim.googlecode.com/hg/ vim

进行配置

cd vim
./configure \
--enable-perlinterp \
--enable-python3interp \
--enable-rubyinterp \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \
--with-features=huge \
--enable-multibyte \
--with-x \
--with-compiledby="xorpd" \
--with-python3-config-dir=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu \
--prefix=/opt/vim74

编译它

make

测试一下

make test

安装它

sudo checkinstall

链接这个软件包

sudo ln -s /opt/vim74/bin/vim /usr/bin/vim-py3

现在,您拥有vim的两个版本

要使用普通的vim(python2),请输入vim file.py

要使用支持python3的vim,请输入vim-py3 file.py

如果只想要python3版本,则只需将其链接到新的vim即可

ln -s /opt/vim74/bin/vim /usr/local/bin/vim

如果您想切换回Python2版本,请移除此链接

rm /usr/local/bin/vim

感谢你们两位的评论!我已经尝试过了,但是现在出现了一个错误 E837: Dieses Vim kann :py3 nicht nach der Verwendung von :python ausführen E263: Dieser Befehl ist nicht verfügbar, die Python-Bibliothek konnte nicht geladen werden,意思是在使用 :python 后无法执行 :py3。我的 vim 支持 python3。至少在 vim --version 的输出中是这样说的 (https://www.dropbox.com/s/4u1voj52j2rlfj6/vim_version.txt?dl=0)。这里还有 :PymodeTroubleshooting 的输出 (https://www.dropbox.com/s/tiicchty7rgwn69/pymode_troubleshooting.txt?dl=0)。有什么提示吗? - Cord Kaldemeyer
弹出的错误(E837)在Vim文档(http://vimdoc.sourceforge.net/htmldoc/if_pyth.html#python-dynamic)中有一些解决方法。但我不知道如何仅为一个Python版本重新构建它。 - Cord Kaldemeyer
似乎真正的问题是Ubuntu 14.04没有带有编译以运行Python3的vim。如果我明天有时间,我会尝试重新编译vim看看是否可以使其工作...我会告诉你我找到了什么。 - Ray Perea
顺便说一句:我不再包括 let g:pymode_python = 'python3' 这行代码,因为我只使用Python3! - Cord Kaldemeyer
非常感谢!我不得不执行'C_INCLUDE_PATH=/usr/include/python3.4m/ make',因为尽管已经安装了python3.4-dev包,但它仍然抱怨找不到Python.h。我通过'dpkg-query -L libpython3.4-dev | grep Python.h'找到了位置。 - djangonaut
非常感谢!...运行得很好。这些步骤删除了原始的vim,但现在我有了包括对Python3支持的vim-py3。非常好的步骤。谢谢。 - Stryker

1
它会删除Python 2.X。
符号链接 (/usr/bin/vim -> /etc/alternatives/vim) 变得无用,可能是因为vim可执行文件已从/etc/alternatives中删除。

0

我也遇到了同样的问题。我的设备是Mac,所以可能会有些不同。

我使用Homebrew来管理我的软件包。

brew install vim将下载带有Python的Vim。

因此,您可以使用brew install vim --with-python3 --HEAD下载带有Python 3的Vim。

可能还需要其他一些操作。您可能需要像brew unlink vim这样的东西。


0

我删除了符号链接(/usr/bin/vim),因为它已经无法工作,然后重新建立了vim的链接

ln -s /opt/vim74/bin/vim /usr/bin/vim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接