Linux 下源码编译安装vim并添加python3支持

本文指导如何在Ubuntu系统中安装Python3开发环境,然后利用Git克隆Vim源码并自定义配置(包括Python2和Python3支持),最后编译安装并管理预装和自定义版本的Vim。

前置条件
首先确请认已安装Python3。关于安装和配置信息,请访问Python网站。

使用以下命令,安装 python3-dev、library

$ sudo apt-get install python3-dev
$ sudo apt-get install libncurses5-dev
使用以下命令,查看当前Python3安装情况:

$ which python3
/usr/bin/python3
$ whereis python3 # 查看安装目录
python3: /usr/bin/python3 /usr/bin/python3.6 /usr/bin/python3.6m /usr/bin/python3.6m-config /usr/lib/python3 /usr/lib/python3.6 /usr/local/lib/python3.6 6 /usr/share/man/man1/python3.1.gz
注意: 不要随意删除系统自带的python 至于为什么可以参考 删除系统 Python 引发的惨案

安装Vim
使用Git命令,将Vim源码复制到本地:

$ git clone https://github.com/vim/vim.git

切换到下载的Vim源码目录:

$ cd vim
$ git pull

编译安装 Vim:

$ cd src
$ sudo make distclean  # 如果您以前构建Vim
$ ./configure --with-features=huge \
--enable-multibyte \
--enable-python3interp \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-fontset \
--enable-largefile \
--disable-netbeans \
--with-compiledby="xxx@email.com" \
--enable-fail-if-missing \
--prefix=/usr/local 
$ sudo make
$ sudo make install

你可以通过查看 src/auto/configure 来获得特性和包的列表。 下面是我用到的。

–with-features=huge # 支持最大特性
–enable-multibyte # 打开多字节支持,可以在Vim中输入中文
–enable-pythoninterp # 打开对 Python 编写的插件支持 默认内置支持 指定 dynamic 参数则动态支持
–with-python-config-dir # 指定 Python 路径
–enable-python3interp # 打开对 Python3 编写的插件支持 默认内置支持 指定 dynamic 参数则动态支持
–with-python3-config-dir # 指定 Python3 路径
–enable-cscope # 打开对cscope的支持
–enable-gui=auto # 根据可用的GUI库自动构建
–enable-gtk2-check # 如果自动选择GUI,请检查GTK default=yes
–enable-fontset # 包括X fontset输出支持
–enable-largefile # 提供对大文件的支持
–disable-netbeans # 禁用NetBeans集成支持。
–with-compiledby # 版本消息中显示的名称
–enable-fail-if-missing # 如果依赖于其他特性,则失败
–prefix # 用于指定生成可执行文件的位置
执行以下命令将显示已使用新编译的Vim:

$ which vim

/usr/local/bin/vim
执行以下命令,将显示新编译的 Vim 已包含的 Python 特性:

$ vim --version | grep python

+comments +libcall +python/dyn +visual
+conceal +linebreak +python3/dyn +visualextra
其中,与Python相关的特性主要包括:

+python,内置支持Python 2;
+python3,内置支持Python 3;
+python/dyn,动态支持Python 2;
+python3/dyn,动态支持Python 3;
根据以上步骤,我们保持/usr/bin目录下预装的Vim不变,另外在/usr/local/bin目录下安装了自已编译的Vim。

卸载Vim
使用以下命令,可以重置编译操作:

$ sudo make distclean

使用以下命令,可以卸载Vim:

$ sudo make uninstall

参考:https://www.jianshu.com/p/aa5ea81bbc72

<think>我们参考用户提供的引用内容,特别是引用[1]中关于在CentOS7.8上安装支持Python3Vim的步骤。同时,结合其他引用中关于安装Python3的方法,我们将给出完整的安装指南。步骤概述:1.确保系统已安装Python3(若未安装,则先安装)2.安装编译Vim所需的依赖3.移除系统自带的旧版Vim(如果有)4.从GitHub克隆Vim源代码5.配置编译选项,启用Python3支持6.编译安装7.创建软链接8.验证安装详细步骤:1.**安装Python3**(参考引用[2][3][4])如果系统还没有安装Python3,需要先安装。这里以Python3.6为例(也可以选择其他版本,但需确保后续Vim配置时指向正确的版本)。```bash#安装开发工具和依赖sudoyumgroupinstall"DevelopmentTools"sudoyuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibffi-devel#下载Python3.6源码(以3.6.15为例)wgethttps://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgztarxvfPython-3.6.15.tgzcdPython-3.6.15#配置安装./configure--enable-optimizationsmakesudomakealtinstall#使用altinstall避免覆盖系统默认python命令#验证安装python3.6-V```2.**安装编译Vim的依赖**(参考引用[1])```bashsudoyuminstallncurses-devel#如果需要其他特性,可以安装更多依赖,如:sudoyuminstallruby-devellua-develctagsmercurial```3.**移除系统自带的Vim**(可选,避免冲突)```bashsudoyumremovevim```4.**克隆Vim源代码**(使用最新版本)```bashgitclonehttps://github.com/vim/vim.gitcdvim/src```5.**配置编译选项**注意:`--with-python3-command`指向我们安装python3.6可执行文件(这里是`python3.6`,如果安装的是其他版本,请相应调整)。同时,我们指定安装路径为`/usr/local/vim8`。```bash./configure--with-features=huge\--enable-multibyte\--enable-rubyinterp=yes\--enable-python3interp=yes\--with-python3-command=python3.6\--prefix=/usr/local/vim8\--disable-selinux\--enable-cscope```注意:如果系统有多个Python3版本,可以通过`--with-python3-config-dir`指定`config`目录(例如`--with-python3-config-dir=/usr/local/lib/python3.6/config-3.6m-x86_64-linux-gnu`),但通常不需要,因为配置脚本可以自动找到。6.**编译安装**```bashmakesudomakeinstall```7.**创建软链接**(将安装Vim链接到系统路径)```bashsudoln-s/usr/local/vim8/bin/vim/usr/bin/vim```8.**验证安装**```bashvim--version```检查输出中是否包含`+python3`,且检查`python`的版本是否正确。9.**(可选)配置环境变量**如果希望将Vim安装目录添加到PATH中(如果软链接已经创建,则不需要),可以在`~/.bashrc`中添加:```bashexportPATH=/usr/local/vim8/bin:$PATH```然后执行`source~/.bashrc`。常见问题:-如果编译过程中出现关于Python的错误,请确保Python3.6的开发包(头文件和库)已经安装。在编译Python3.6时,我们已经安装了开发依赖,所以通常不会有问题。-如果找不到`python3.6`,请确认其安装路径(通常位于`/usr/local/bin`),确保在PATH中。完成以上步骤后,您就拥有了支持Python3Vim。接下来可以配置Vim的插件,如jedi-vim等,以增强Python开发体验。相关问题:1.如何在Vim中配置Python开发环境?2.安装Vim时如何指定不同版本Python3.如何解决Vim编译Python支持检测失败的问题?4.如何在CentOS7上安装最新版本Python?</think>### CentOS 上安装支持 Python3Vim 完整指南 #### 步骤 1:安装 Python3(如未安装) ```bash # 安装开发工具和依赖 sudo yum groupinstall "Development Tools" sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel # 下载编译 Python3.9(可选其他版本) wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz tar xzf Python-3.9.16.tgz cd Python-3.9.16 ./configure --enable-optimizations make sudo make altinstall # 使用altinstall避免覆盖系统Python ``` #### 步骤 2:安装支持 Python3Vim ```bash # 安装编译依赖 sudo yum install ncurses-devel git # 移除旧版Vim sudo yum remove vim # 编译安装Vim git clone https://github.com/vim/vim.git cd vim/src ./configure \ --with-features=huge \ --enable-multibyte \ --enable-python3interp=yes \ --with-python3-command=python3.9 \ # 与安装Python版本一致 --prefix=/usr/local/vim8 make sudo make install # 创建系统链接 sudo ln -s /usr/local/vim8/bin/vim /usr/bin/vim ``` #### 步骤 3:验证安装 ```bash vim --version | grep python ``` 输出应包含 `+python3` 和 `+python3/dyn`,例如: ``` +python3/dyn +python3/dyn ``` #### 步骤 4:基础配置(~/.vimrc) ```vim " 基础设置 set nocompatible filetype plugin indent on syntax enable set tabstop=4 set shiftwidth=4 set expandtab set number " Python专用设置 autocmd FileType python setlocal \ tabstop=4 \ softtabstop=4 \ shiftwidth=4 \ textwidth=79 \ expandtab \ autoindent \ fileformat=unix ``` #### 常见问题解决 1. **Python支持检测失败**: ```bash # 确认Python路径 which python3.9 # 重新配置时指定完整路径 ./configure ... --with-python3-command=/usr/local/bin/python3.9 ``` 2. **缺少依赖错误**: ```bash sudo yum install libXt-devel gtk2-devel # 安装GUI支持依赖 ``` 3. **版本冲突**: ```bash # 完全卸载旧版 sudo yum remove vim-enhanced vim-common ``` #### 验证 Python 集成 在 Vim 中执行: ```vim :python3 import sys; print(sys.version) ``` 应显示 Python3 版本信息[^1][^3]。 ### 相关问题 1. 如何在 Vim 中配置 Python 代码补全和静态检查? 2. CentOS 7 上如何同时支持 Python2 和 Python3Vim 编译3. 如何解决 Vim 编译时的 "No terminal library found" 错误? 4. 除了源码编译,还有哪些方法在 CentOS 安装支持 Python3Vim
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值