文档章节

如何在Ubuntu14.04+上编译同时支持python2和python3的vim?

__JM_Joy__
 __JM_Joy__
发布于 2015/05/15 15:40
字数 350
阅读 64
收藏 0

详细请见:

https://askubuntu.com/questions/612285/how-to-build-deb-files-of-vim-which-support-both-python2-and-python3-on-ubuntu1



It seems on Debian-based systems (at least) you can't have your cake and eat it too. It's either Python 2 or Python 3. Due to how the Python libraries are built, you can only use one variant within a Vim session. You can build with both, but if Python 2 is called in Vim, then Python 3 cannot be called in the same session, and vice versa. On Arch Linux as well, Vim is only compiled with one of Python 2 (vimgvim) or Python 3 (vim-python3gvim-python3).


To rebuild the Vim that the repositories provide:

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

Edit debian/rules and replace:

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

With:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

Then run:

DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -rfakeroot -us -uc -b

(备注:这里在原教程中是 dpkg-buildpackage -us -uc ,但是在我的ubuntu上运行失败,上面的是运行成功的)

Have lunch. (Or tea if you used -j $(nproc).)

Now, multiple .deb files will have been created in the parent directory. To see which:

cd ..
ls vim*.deb

Along with the particular variant you want to install (vimvim-gnomevim-gtk, etc.), you'll have to install vim-common_*.debvim-runtime_*.deb, and for the GUI versions, vim-gui-common_*.deb. For example, with vim-gnome, and the current version of vim in the repositories:

sudo dpkg -i vim-gnome_7.4.052-1ubuntu3_amd64.deb vim-common_7.4.052-1ubuntu3_amd64.deb vim-gui-common_7.4.052-1ubuntu3_all.deb vim-runtime_7.4.052-1ubuntu3_all.deb

Then:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace


The pi-rho/dev PPA builds Vim in this fashion, so you cna use the PPA instead of manually building it.


© 著作权归作者所有

共有 人打赏支持
__JM_Joy__
粉丝 31
博文 26
码字总数 4751
作品 0
江门
程序员
私信 提问
Ubuntu14.04下编译安装Vim74+Vim-gdb

一、准备工作 1、下载Vim74和适合7.4版本的vim-gdb: (1)vim7-4.tar.bz2 (2)vimgdb-for-7.4 2、卸载已存在的vim以及相关组件 如果已经通过软件中心安装了vim,则需要将其卸载 sudo apt-get r...

henry-zhang
2015/06/08
0
1
编译Vim7.3 with python2.6 and python3.1 and perl5.12

首先我说明一下,为什么有两个python版本?因为python2和python3的语法上有很大的差异,因此要让vim同时支持两种python的版本。 perl我的版本没那么高,是5.12的,区别只是在 perl(version)....

张林
2010/08/17
1K
0
centos7使用vim打造强大的python IDE

编译升级vim centos7.3自带的vim是7.4.*版本, YouCompleteMe需要Vim 7.4.1578+ 我这里编译安装vim8.0 编译参数说明: [ ] –with-features=huge:支持最大特性 [ ] –enable-rubyinterp:打开...

喵来个鱼
2018/10/30
0
0
如何使用pyflakes给python做语法检查

python是一门动态语言。在给python传参数的时候并没有严格的类型限制。写python程序的时候,发现错误经常只能在执行的时候发现。有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导致...

costaxu
2012/11/03
0
5
自行编译Vim for Windows,加入Python支持!

1.下载Pythonhttp://python.org/getit/ Py3K开始流行了,最好Py27和Py32都安装上 2.下载Mercurial http://mercurial.selenic.com/downloads/ 版本控制软件,用来下载最新VIM源代码 3.下载VIM...

匿名人士
2012/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
2
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
4
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
4
0
5.线程实现

用于线程实现的Python模块 Python线程有时称为轻量级进程,因为线程比进程占用的内存少得多。 线程允许一次执行多个任务。 在Python中,以下两个模块在一个程序中实现线程 - _thread 模块 th...

Eappo_Geng
昨天
4
0
ServiceLoader

创建一个接口文件在resources资源目录下创建META-INF/services文件夹在services文件夹中创建文件,以接口全名命名创建接口实现类 内容me.zzp.ar.d.PostgreSQLDialectme.zzp.ar.d.Hype...

Cobbage
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部