安装支持 Python 3 的 Vim Linux

安装支持 Python 3 的 Vim Linux

这似乎是一个比较常见的问题,但我尝试了各种方法,但都无法从源代码编译 Vim。我最近得到了一个 AWS EC2 Linux 实例,我一直在摆弄它。以下是一些基本操作系统统计数据:

$ cat /proc/version 
Linux version 4.14.104-95.84.amzn2.x86_64 (mockbuild@ip-10-0-1-219) (gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)) #1 SMP Sat Mar 2 00:40:20 UTC 2019
$ cat /etc/*release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
Amazon Linux release 2 (Karoo)
$ uname -a
Linux ip-172-31-22-73.us-east-2.compute.internal 4.14.104-95.84.amzn2.x86_64 #1 SMP Sat Mar 2 00:40:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

问题是我尝试将 vim 升级到 8.1 版本,但每当我将 vim 转换为任何内容时,我都会看到:

您需要使用 Python 2.6、2.7 或 3.2 及更高版本编译的 vim 才能使 Powerline 正常工作。请参阅文档了解更多详细信息。

这让我检查了一下vim --version,发现:

+comments          +libcall           -python            +visualextra
+conceal           +linebreak         -python3           +viminfo

你会注意到实际上没有 Python 支持。但是,我已配置了以下内容:

./configure --enable-python3interp --with-python3-config-dir=/usr/lib64/python3.7/config-3.7m-x86_64-linux-gnu --enable-rubyinterp --enable-gui=no --without-x --enable-cscope --enable-multibyte --prefix=/usr

配置输出显示如下:

checking Python version... (cached) 3.7
checking Python is 3.0 or better... yep
checking Python's abiflags... (cached) m
checking Python's install prefix... (cached) /usr
checking Python's execution prefix... (cached) /usr
(cached) checking Python's configuration directory... (cached) /usr/lib64/python3.7/config-3.7m-x86_64-linux-gnu
(cached) checking Python3's dll name... (cached) libpython3.7m.so.1.0
checking if -pthread should be used... yes
checking if compile and link flags for Python 3 are sane... yes
checking if -fPIE can be added for Python3... yes

这让我相信,vim 升级的所有设置都应该正确。运行该./configure命令后,我运行sudo make然后sudo make install- 我认为这是正确的工作流程。我仍然看到相同的 vim 投诉。

有人有什么想法吗?以下链接对我来说是很好的起点。

https://github.com/powerline/powerline/issues/432 https://vi.stackexchange.com/questions/11526/how-to-enable-python-feature-in-vim

答案1

经典。当然,经过一天的尝试,我在发布帖子 5 分钟后看到了这个: https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

请注意,--prefix我尝试的命令 ( /usr) 与 Valloric 建议的命令 ( /usr/local) 有所不同。

指定此配置命令:

sudo ./configure --enable-python3interp --with-python3-config-dir=/usr/lib64/python3.7/config-3.7m-x86_64-linux-gnu --enable-rubyinterp --enable-gui=no --without-x --enable-cscope --enable-multibyte --prefix=/usr/local

实际上确实解决了这个问题。但是,我不确定为什么前缀标志应该指向本地目录而不是文件/usr夹。

相关内容