I've been googling this for about an hour now, with alot of people having the same question, although I cannot seem to get my answer. I am trying to make get clang_complete to work, and I know I need Python support in Vim. My compilation of Vim, according to :version
, is missing -python
and -python3
. Simple question: on Linux Debian, how can I recompile Vim with python support?

- 167,457
- 16
- 250
- 324

- 3,371
- 4
- 19
- 23
-
1`$ sudo apt-get install vim-gtk` should be enough. – romainl Jan 12 '14 at 23:13
3 Answers
You need to install python3-dev ppkg first.
sudo apt-get install python3-dev
and after that compile vim from sources
./configure --enable-python3interp=dynamic && make && make install
Now you have vim with python3 suppport as dynamic load lib.

- 193
- 14
To enable the python interpretor, try
./configure --enable-pythoninterp=yes --enable-python3interp=yes && make && make install
You can get a list of features and packages by looking into src/auto/configure
. Here's the one from my vim version 7.4
.
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-fail-if-missing Fail if dependencies on additional features
specified on the command line are missing.
--disable-darwin Disable Darwin (Mac OS X) support.
--disable-selinux Don't check for SELinux support.
--disable-xsmp Disable XSMP session management
--disable-xsmp-interact Disable XSMP interaction
--enable-luainterp=OPTS Include Lua interpreter. default=no OPTS=no/yes/dynamic
--enable-mzschemeinterp Include MzScheme interpreter.
--enable-perlinterp=OPTS Include Perl interpreter. default=no OPTS=no/yes/dynamic
--enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic
--enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic
--enable-tclinterp Include Tcl interpreter.
--enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
--enable-cscope Include cscope interface.
--enable-workshop Include Sun Visual Workshop support.
--disable-netbeans Disable NetBeans integration support.
--enable-sniff Include Sniff interface.
--enable-multibyte Include multibyte editing support.
--enable-hangulinput Include Hangul input support.
--enable-xim Include XIM input support.
--enable-fontset Include X fontset output support.
--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk2/gnome2/motif/athena/neXtaw/photon/carbon
--enable-gtk2-check If auto-select GUI, check for GTK+ 2 default=yes
--enable-gnome-check If GTK GUI, check for GNOME default=no
--enable-motif-check If auto-select GUI, check for Motif default=yes
--enable-athena-check If auto-select GUI, check for Athena default=yes
--enable-nextaw-check If auto-select GUI, check for neXtaw default=yes
--enable-carbon-check If auto-select GUI, check for Carbon default=yes
--disable-gtktest Do not try to compile and run a test GTK program
--disable-largefile omit support for large files
--disable-acl Don't check for ACL support.
--disable-gpm Don't use gpm (Linux mouse daemon).
--disable-sysmouse Don't use sysmouse (mouse in *BSD console).
--disable-nls Don't support NLS (gettext()).
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-mac-arch=ARCH current, intel, ppc or both
--with-developer-dir=PATH use PATH as location for Xcode developer tools
--with-local-dir=PATH search PATH instead of /usr/local for local libraries.
--without-local-dir do not search /usr/local for local libraries.
--with-vim-name=NAME what to call the Vim executable
--with-ex-name=NAME what to call the Ex executable
--with-view-name=NAME what to call the View executable
--with-global-runtime=DIR global runtime directory in 'runtimepath'
--with-modified-by=NAME name of who modified a release version
--with-features=TYPE tiny, small, normal, big or huge (default: normal)
--with-compiledby=NAME name to show in :version message
--with-lua-prefix=PFX Prefix where Lua is installed.
--with-luajit Link with LuaJIT instead of Lua.
--with-plthome=PLTHOME Use PLTHOME.
--with-python-config-dir=PATH Python's config directory
--with-python3-config-dir=PATH Python's config directory
--with-tclsh=PATH which tclsh to use (default: tclsh8.0)
--with-ruby-command=RUBY name of the Ruby command (default: ruby)
--with-x use the X Window System
--with-gnome-includes=DIR Specify location of GNOME headers
--with-gnome-libs=DIR Specify location of GNOME libs
--with-gnome Specify prefix for GNOME files
--with-motif-lib=STRING Library for Motif
--with-tlib=library terminal library to be used

- 14,093
- 14
- 58
- 71
-
I have no such directory src/auto/configure, I did not build vim manually but rather pulled it via apt-get (debian respository). – Rice Jan 13 '14 at 02:52
Very old question I know!
As you have asked for Debian: There is and has always been a vim-nox package around and apt-cache show vim-nox
states:
This package contains a version of vim compiled with support for scripting with Lua, Perl, Python 3, Ruby, and Tcl but no GUI.
Hence apt install vim-nox
will provide +python3
support needed by clang_complete and there is no need to compile it yourself at all.
Just keep your ~/.vimrc
updated and make sure to
set the right library path there as clang major versions change quite frequently.
let g:clang_library_path='/lib/llvm-14/lib/libclang.so.1'

- 76
- 5