Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vim 配置python3环境_vim怎么运行python

vim 配置python3环境_vim怎么运行python

作者头像
全栈程序员站长
发布于 2022-11-11 07:14:46
发布于 2022-11-11 07:14:46
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1.1环境

OS:CentOS Linux release 7.6.1810 (Core)

python版本:Python 3.9.6

需求:配置vim使能支持python程序开发的类似IDE环境,实现代码不全、语法高亮等功能。

1.2检查环境

1.检查vim版本,如果没有“+python3”关键字,则需要升级vim

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 可见vim版本为7.4
[root@drp-monitor-20210426165633-mojh ~]# vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 15 2020 16:44:08)
Included patches: 1-207, 209-629
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
……
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      -python3         +vreplace
……


[root@drp-monitor-20210426165633-mojh ~]# rpm -qa | grep vim 
vim-filesystem-7.4.160-5.el7.x86_64
vim-minimal-7.4.160-5.el7.x86_64
vim-enhanced-7.4.629-8.el7_9.x86_64
vim-common-7.4.629-8.el7_9.x86_64

1.3升级vim版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/service/packages/vim
mkdir vim8.2
cd vim8.2
git clone git://github.com/vim/vim.git
cd vim/src
#make clean仅仅是清除之前编译的可执行文件及配置文件
make clean
./configure --prefix=/usr/local/vim/ --with-features=huge --enable-python3interp --enable-luainterp --enable-perlinterp --enable-multibyte --enable-cscope --with-python-config-dir=/usr/local/lib/python3.9/
make
# make distclean要清除所有生成的文件
make distclean  #如果make出错时执行,调整后再重新make。
make install
#删除老vim版本,如下是RPM安装的删除方式。如果是编译安装的直接删除安装目录即可。如果是yum安装的,则可以使用yum remove来删除老版本
# rpm -e vim-enhanced-2:7.4.629-8.el7_9.x86_64
# rpm -e vim-common-2:7.4.629-8.el7_9.x86_64
# rpm -e vim-filesystem-7.4.160-5.el7.x86_64
#最后在创建一个软连接
ln -s /usr/local/vim/bin/vim /usr/bin/vim
# 检查vim版本
[root@drp-monitor-20210426165633-mojh bin]# vim --version 
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Aug 24 2021 19:05:47)
Included patches: 1-3370
Compiled by root@drp-monitor-20210426165633-mojh
Huge version without GUI.  Features included (+) or not (-):
……
+cmdline_hist      +langmap           +python/dyn        +visual
+cmdline_info      +libcall           +python3/dyn       +visualextra
……

#configure参数说明: –with-features=huge:支持最大特性 –enable-rubyinterp:打开对 ruby 编写的插件的支持 –enable-pythoninterp:打开对 python 编写的插件的支持 –enable-python3interp:打开对 python3 编写的插件的支持 –enable-luainterp:打开对 lua 编写的插件的支持 –enable-perlinterp:打开对 perl 编写的插件的支持 –enable-multibyte:打开多字节支持,可以在 Vim 中输入中文 –enable-cscope:打开对 cscope 的支持 –with-python-config-dir=/usr/lib64/python2.7/ 指定 python 路径 –with-python-config-dir=/usr/local/lib/python3.9/ 指定 python3 路径 –prefix=/usr/local/vim:指定VIM将要安装到的路径 (自行创建)

#python3/dyn 含义如下,表示同时支持python2和python3

  1. No Python support (-python, -python3)
  2. Python 2 support only (+python or +python/dyn, -python3)
  3. Python 3 support only (-python, +python3 or +python3/dyn)
  4. Python 2 and 3 support (+python/dyn, +python3/dyn)

如何确定with-python-config-dir的值

可使用如下方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#如下/usr/lib64/python2.7 就是我们需要的python2路径
[root@drp-monitor-20210426165633-mojh bin]# python
Python 2.7.5 (default, Apr  2 2020, 13:16:51) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']
#如下/usr/local/lib/python3.9 就是我们需要的python3路径
[root@drp-monitor-20210426165633-mojh bin]# python 
Python 3.9.6 (default, Jul 21 2021, 17:15:57) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python39.zip', '/usr/local/lib/python3.9', '/usr/local/lib/python3.9/lib-dynload', '/root/.local/lib/python3.9/site-packages', '/usr/local/lib/python3.9/site-packages']

1.4vim插件管理(使用Vundle插件管理器)

Vundle是Vim bundle的缩写,是一个Vim插件管理器。git hub地址为:https://github.com/VundleVim/Vundle.vim

1).配置vundle

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# mkdir /usr/local/vim/share/vim/bundle
cd /usr/local/vim/share/vim/bundle
# 下载vundle插件管理器到/usr/local/vim/share/vim/bundle/vundle.vim目录下
git clone git://github.com/VundleVim/Vundle.vim.git /usr/local/vim/share/vim/bundle/vundle.vim
# 拷贝一份vimrc样本配置文件
cp /usr/local/vim/share/vim/vim82/vimrc_example.vim /usr/local/vim/share/vim/vimrc
vim /usr/local/vim/share/vim/vimrc
#加入如下内容:
"去除VI一致性,必须 set nocompatible "必须             
filetype off                  
"设置Vundle的运行路径 set rtp+=/usr/local/vim/share/vim/bundle/vundle.vim "设置插件的安装路径,vundle插件起始标志,
"#begin …… #end 之间就是要安装的插件,插件文件放在rtp+对应路径下面 call vundle#begin('/usr/local/vim/share/vim/bundle') "让vundle管理插件版本
Plugin 'VundleVim/Vundle.vim'
"你的所有插件需要在下面这行之前 call vundle#end() "加载vim自带和插件相应的语法和文件类型相关脚本
filetype plugin indent on

2).vundle安装插件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1)vim命令进入vim程序
# vim
# 2)命令模式下执行:PluginList列出你所有的插件
:PluginList
# 3) 命令模式下执行:PluginInstall安装插件
:PluginInstall

3).vundle删除插件(可选)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#删除插件只需要在vimrc配置文件中注释掉对应的插件,在vim中用:PluginClean命令就会清理掉注释掉的插件
注意:
删除插件从磁盘删除对应的插件相关文件

1.5vim版python IDE推荐插件

1) nerdtree插件安装

功能:erdtree是一个在vim中新窗口显示的文件浏览器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/vim/share/vim/bundle
git clone git://github.com/preservim/nerdtree.git
vim ../vimrc
#编辑vimrc配置文件,在#begin……#end之间,添加如下内容:
"添加nerdtree插件 Plugin 'preservim/nerdtree' "设置按F2启动NerdTree
map <F2> :NERDTreeToggle<CR>
"隐藏目录树中的.pyc文件 let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree
在PluginList,PluginInstall来安装该插件

2) YouCompleteMe插件

功能

代码自动补全插件,支持多种语言(如java、python、C等),github详细介绍

安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/vim/share/vim/bundle
git clone git://github.com/ycm-core/YouCompleteMe.git
cd /usr/local/vim/share/vim/bundle/YouCompleteMe
git submodule update --init --recursive  #可能报错见“报错1”
python install.py --clang-completer     #可能报错见“报错2
遇到的问题
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Q1: 报错1--git submodule报错
[root@drp-monitor-20210426165633-mojh YouCompleteMe]# git submodule update --init --recursive
Cloning into 'third_party/bottle'...
fatal: unable to access 'https://github.com/defnull/bottle/': Failed connect to 127.0.0.1:1080; Connection refused
Clone of 'https://github.com/defnull/bottle' into submodule path 'third_party/bottle' failed
Failed to recurse into submodule path 'third_party/ycmd'
#A1: 需要修改访问github的协议
1) 需要将报错的模块对应的https:// 协议改成 git:// 
cd /usr/local/vim/share/vim/bundle/YouCompleteMe
如上报错中提示‘https://github.com/defnull/bottle’ 找不到,
grep -ri "https://github.com/defnull/bottle"  查看哪些文件配置了这个,如下:
sed -i s#https://#git://# third_party/ycmd/.gitmodules
sed -i s#https://#git://# .git/modules/third_party/ycmd/config
注意:非github地址,可以可能需要保持使用https://协议
#补充:
查看git配置:
git config --global -l
配置代理:
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
取消代理:
git config --global --unset http.proxy
git config --global --unset https.proxy
#Q2:报错2--正式安装YouCompleteMe插件时报错
[root@drp-monitor-20210426165633-mojh YouCompleteMe]# python install.py --clang-completer
File /usr/local/vim/share/vim/bundle/YouCompleteMe/third_party/ycmd/build.py does not exist; you probably forgot to run:
git submodule update --init --recursive
#A2:
修改.gitmodules 将“https://"  改成 ”git://"    # 因为可能https协议可能无法访问。
git submodule sync
git submodule update --init --recursive
#Q3:报错3--缺少动态链接库
#A3:下载python源码包,重新编译,并复制到指定目录
1)下载(www.python.org)
2./configure --prefix=/usr/local --enable-shared CFLAGS=-fPIC
3)make
4)makeinstall
5)复制到指定目录
cp libpython3.6m.so.1.0 /usr/local/lib64/
cp libpython3.6m.so.1.0 /usr/lib/ 
cp libpython3.6m.so.1.0 /usr/lib64/
#Q4:报错4:缺少devtoolset-8
-- NOTE: You appear to be on CentOS. In order to use this application, you require a more modern compiler than the default compiler on this platform. Please install the devtoolset-8 or greater. For example, see this link: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/
CMake Error at CMakeLists.txt:232 (message):
Your C++ compiler does NOT fully support C++17.
-- Configuring incomplete, errors occurred!
See also "/tmp/ycm_build_s84e_jbz/CMakeFiles/CMakeOutput.log".
ERROR: the build failed.
#A4:参考如下:
1. Install a package with repository for your system:
# On CentOS, install package centos-release-scl available in CentOS repository:
$ sudo yum install centos-release-scl
# On RHEL, enable RHSCL repository for you system:
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
2. Install the collection:
$ sudo yum install devtoolset-8
3. Start using software collections:
$ scl enable devtoolset-8 bash
#Q5:报错5[root@drp-monitor-20210426165633-mojh vim]# vim 
YouCompleteMe unavailable: unable to load Python.
Press ENTER or type command to continue
#A5:原因:vim8不能同时python和python3,需要关闭python2的配置开关--enable-pythoninterp
#重新编译vim
cd vim源码包
make uninstall
./configure --prefix=/usr/local/vim/ --with-features=huge  --enable-python3interp --enable-luainterp --enable-perlinterp --enable-multibyte --enable-cscope --with-python-config-dir=/usr/local/lib/python3.9
make
make install
ycmd相关命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#查看日志
:YcmToggleLogs ycmd_49353_stderr_hfxb354_.log
#重启ycmd server
:YcmRestartServer
#ycmd命令自动补全
:Ycm(按tab键选择,按enter确定)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187654.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月29日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云Linux服务器vim插件ycm安装使用
1.1.网页登录方式,WebShell为腾讯云推荐的登录方式: 登录腾讯云账号后,打开“云产品”->“云服务器”->“实例”,登录就是相应的WebShell界面
力力RiversFlow
2020/02/13
3K0
centos7使用vim打造强大的pyt
centos7.3自带的vim是7.4.*版本, YouCompleteMe需要Vim 7.4.1578+ 我这里编译安装vim8.0
py3study
2020/01/08
1.7K0
超级强大的vim配置(vimplus)
最近在重新配置Vim,也在GitHub上找了三个star和fork数目很高的方案,在这里分享给大家: https://github.com/amix/vimrc - star 3,482 ; Fork
_gongluck
2018/03/13
30.2K2
超级强大的vim配置(vimplus)
Ubuntu下为vim安装YouCompleteMe插件
前提条件 已安装 Vundle (参考 Vim安装插件管理器Vundle) Vim 版本 ≥ Vim 7.4.1578+ (查看 vim --version) 安装 第一步,使用Vundle安装YouCompleteM 在.vimrc中添加以下内容 Plugin 'Valloric/YouCompleteMe' 然后拉取源码(或是 :PluginInstall 也可) $ cd ~/.vim/bundle #./install.py需要克隆,不能直接下载zip压缩包 $ git clone https:/
宋天伦
2020/07/27
2K0
vim的配置_vim全局配置
因为写了一段时间前端,一直在考虑vim是否能够替代前端无敌编辑器vscode,最后发现只能高仿,自己配置的性能跟vscode下的vim模式差不多,灵活性更高点,喜欢折腾的朋友可以试试,否则用vscode vim模式吧,已经神一般的完美了(不是高级黑-。-)。 这套插件目前包含了代码自动补全,目录树,js/jsx eslint自动格式化,小黑屋模式, 文件搜索ctrlp,快速检索ack,emmet,函数工具条还有各种奇奇插插的主题配置而成, 别想歪。这里我做了一堆的配置,大家可以根据个人喜好,配置任意的快捷键。我是一边做一边写的文章,有些东西可能没考虑到,有问题可以给我留言。
全栈程序员站长
2022/11/14
3.1K0
vim的配置_vim全局配置
配置vim为pythonIDE小结
1.在.vimrc中配置插件 " vundle 环境设置 filetype off set rtp+=~/.vim/bundle/Vundle.vim " vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间 call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'tomasr/molokai' Plugin 'vi
阿章-python小学生
2018/05/18
9900
Vim自动补全神器:YouCompleteMe
第一次听说这个插件还是在偶然的情况下看到别人的博客,听说了这个插件的大名。本来打算在实训期间来完成安装的,无奈网实在不给力,也就拖到了回家的时候。在开始准备工作的时候就了解到这个插件不是很容易安装,安装的时候果然名不虚传。(关于这方面的内容,请查看另一篇文章)不过,有付出总有回报,安装之后用上这个插件,真心为这个插件的强大所折服。 那这个插件有何不同? YouCompleteMe的特别之处 基于语义补全 总所周知,Vim是一款文本编辑器。也就是说,其最基础的工作就是编辑文本,而不管该文本的内容是什么。在Vi
小小科
2018/05/03
10K1
Vim自动补全神器:YouCompleteMe
centos7 python3.7+vi
安装python3.7 https://www.python.org/downloads/
py3study
2020/01/10
9390
手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)
截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套,没有讲透彻。所以,才下定决心写一篇自认为史上最简单、史上最全的教程出来。
Java架构师历程
2020/11/10
6.5K0
手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)
Vim配置
介绍 安装Vundle插件管理器 git clone --depth=1 https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim git clone --depth=1 https://github.com/preservim/nerdtree.git ~/.vim/bundle/nerdtree git clone --depth=1 https://github.com/Xuyuanp/nerdtree-git-plugi
Spaceack
2020/11/04
9730
golang实战-1:搭建vim-go开发环境
LSB Version: :core-4.1-amd64:core-4.1-noarch
千里行走
2019/11/06
3.6K0
golang实战-1:搭建vim-go开发环境
【学员分享】程序员效率神器,最常用VIM插件安装大全
在群里言有三老师多次推荐用vim作为编辑程序,作为经验丰富的AI程序员,我想一定有其道理,所以决定好好学习vim。知道vim编辑有很多优点,大家可以在网上搜,我认为最重要的一点就是看起来很牛啊~。但是vim初始界面太原始了,看得我想哭,安装了之后只能用来编辑,如果要运行就需要退出去,通过python test.py来运行,麻烦死了。回想用现成的IDE是多么的舒服。来来来,看一看界面有多简单。
用户1508658
2019/07/26
2.8K0
【学员分享】程序员效率神器,最常用VIM插件安装大全
VIM个性化配置(一)
只需在Home目录创建一个 ~/.vimrc 文件即可以配置 vim 了,如需安装插件,在 ~/.vim 目录下创建一个bundle文件夹,插件装在里面。(需安装 Vundle 插件管理器),将以下内容拷入~/.vimrc 文件中即可。
宋天伦
2020/07/27
1.5K0
Windows安装WSL--Ubuntu
WSL(Ubuntu)将Ubuntu和Win10无缝连接起来,让开发人员可以不使用虚拟机,就轻松地在同一个系统中使用win10和Ubuntu,你可以用它代替Cywin32和babun.
php007
2019/11/28
3.9K0
手把手教你配置vim,小白也可以
想使用 vim ,但被各种配置项搞得头晕眼花?想让 vim 与众不同,奈何手残搞得系统崩溃?这篇文章就是你的福音!教你配置好看又实用的 vim 快来看看吧!更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』
小闫同学啊
2020/08/05
6570
手把手教你配置vim,小白也可以
将vim配置成python编辑器
参考: 1. Vim与Python真乃天作之合:打造强大的Python开发环境 2. vundle: vim插件管理安装之错误总结 3. 使用vim打造自己的python编辑器 4. 使用vim打造自己的python编辑器
py3study
2020/01/03
9260
vim之IDE功能配置
该功能的使用需要安装YouCompleteMe。使用的是vbundle来管理插件。
李小白是一只喵
2020/04/24
1K0
vim之IDE功能配置
Ubuntu 14.04下Vim安装YouCompleMe插件
最权威的原始步骤可以参考github中关于此插件的README.md,如果时间允许的话,尽量多看几遍可以避免很多不必要的麻烦。
用户8705041
2021/06/08
5710
vim开发环境配置
作为编辑器之神的vim,初安装时,就像十几岁的孩子,潜力无限但能力有限。所以当我们要充分开发它的潜能时,那么就不得不对vim进行扩展,也就是安装插件。(当然了,如果你不想定制自己所需要的插件,只是想一键安装,然后满足你几乎所有对vim的需求,那么你可以尝试spf13-vim github地址:https://github.com/spf13/spf13-vim) 下面介绍部分插件的安装,以满足基本的代码阅读或者项目开发的需求。
编程珠玑
2019/09/03
2.1K0
vim开发环境配置
Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
序言     使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度。这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe这个插件。顿时激起了我折腾的欲望。以前我都是使用Ctags+<C-n>或<C-p>来进行补全,然而其命中率却比较低,有时候根本就乱匹配。于是决定将YouCompleteMe这个插件安装好适用一下,同时,用Vundle也好让我将.vim文件夹下的文件清理一下. 一、准备 (1)相关链接 PPA for v
24K纯开源
2018/01/18
1.8K0
Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
相关推荐
腾讯云Linux服务器vim插件ycm安装使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档