0

I'm on the latest version of Arch Linux. The version of Vim from the Arch repos doesn't have python support, so I downloaded the source code and built it from that. I have checked, and Python support is enabled. I have Python installed on my system. However, when I try to start vim with a plugin which requires Python, I get a warning before vim opens, and the plugin doesn't function properly: vim-llp: python required. Do I have to tell vim that Python exists during the installation process or something?

The :version output is the following:

VIM - Vi IMproved 8.1 (2018 May 18, compiled Sep 11 2019 00:35:18)
Included patches: 1-2021
Compiled by noah@arch-xps
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl               +clientserver      +diff              +folding           +libcall           +mouse_gpm         +packages          -ruby              -tag_any_white     +vartabs           -xfontset
+arabic            +clipboard         +digraphs          -footer            +linebreak         -mouse_jsbterm     +path_extra        +scrollbind        -tcl               +vertsplit         +xim
+autocmd           +cmdline_compl     +dnd               +fork()            +lispindent        +mouse_netterm     -perl              +signs             +termguicolors     +virtualedit       +xpm
+autochdir         +cmdline_hist      -ebcdic            +gettext           +listcmds          +mouse_sgr         +persistent_undo   +smartindent       +terminal          +visual            +xsmp_interact
-autoservername    +cmdline_info      +emacs_tags        -hangul_input      +localmap          -mouse_sysmouse    +postscript        +sound             +terminfo          +visualextra       +xterm_clipboard
+balloon_eval      +comments          +eval              +iconv             -lua               +mouse_urxvt       +printer           +spell             +termresponse      +viminfo           -xterm_save
+balloon_eval_term +conceal           +ex_extra          +insert_expand     +menu              +mouse_xterm       +profile           +startuptime       +textobjects       +vreplace
+browse            +cryptv            +extra_search      +job               +mksession         +multi_byte        -python            +statusline        +textprop          +wildignore
++builtin_terms    +cscope            -farsi             +jumplist          +modify_fname      +multi_lang        -python3           -sun_workshop      +timers            +wildmenu
+byte_offset       +cursorbind        +file_in_path      +keymap            +mouse             -mzscheme          +quickfix          +syntax            +title             +windows
+channel           +cursorshape       +find_in_path      +lambda            +mouseshape        +netbeans_intg     +reltime           +tag_binary        +toolbar           +writebackup
+cindent           +dialog_con_gui    +float             +langmap           +mouse_dec         +num64             +rightleft         -tag_old_static    +user_commands     +X11
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/libffi-
3.2.1/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/u
sr/include/libmount -I/usr/include/blkid -I/usr/include/atk-1.0 -pthread    -O2 -fno-strength-reduce -Wall -D_REENTRANT  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz
 -lfontconfig -lfreetype  -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lelf -lnsl  -lcanberra  -lacl -lattr -lgpm -ldl
filbranden
  • 28,785
  • 3
  • 26
  • 71
skrooms
  • 13
  • 4
  • 4
    what is the :version output? – Christian Brabandt Sep 11 '19 at 06:19
  • @ChristianBrabandt I have edited the post to include the output of :version. – skrooms Sep 11 '19 at 18:05
  • 1
    It seems your vim is compiled without python support (look at -python and -python3 at the result of your :version command), although https://wiki.archlinux.org/index.php/Vim suggests that python support is the default for vim on Arch Linux. – João A. Toledo Sep 11 '19 at 18:23
  • @JoãoA.Toledo the Arch version of Vim is compiled with python/dyn support, which the specific plugin I'd like to use isn't compatible with. – skrooms Sep 11 '19 at 20:54
  • @skrooms Source for the plug-in being incompatible with python/dyn? I'd say that's rather unlikely to be the case... The dyn part simply means it will try to find the Python library dynamically when needed at runtime... – filbranden Sep 12 '19 at 02:00
  • @skrooms Use vim from Arch. Do you have python2 or python3 (or both?) installed on your system? What does :echo has('python') say (and same for 'python3'.) What does :set pythondll pythonhome say? (And :set pythonthreedll pythonthreehome?) Do those point to existing libraries and directories? If not, can you install Python development packages to make those available? Can you run :python print 'hello' in Vim? (Or :python3 print('hello')?) – filbranden Sep 12 '19 at 03:30

1 Answers1

2

This vim is compiled without python:

-python
-python3

You can also see has().

To fix this you’ll need to install a vim built with python support.

D. Ben Knoble
  • 26,070
  • 3
  • 29
  • 65