2

I was using Vim 7.4 with YCM quite successfully (thank you for YCM!) and just today noticed that Vim 8.0 was out. I downloaded, installed, started and now it complains that "YouCompleteMe unavailable:

requires VIM compiled with Python (2.6+ or 3.3+) support"

:version shows:

+python/dyn 
+python3/dyn

I am on Windows 10 and used the .exe installer. This was working before with 7.4, but not for 8.0.

Nothing else has changed. Python is on my path, and reports version 3.5.1

Thanks!

  • 5
    probably it could not load the python*.dll. First, check that your python installation is the same architecture (e.g. 32 vs 64 bit) as your vim installation, second I think it is best to simply throw the python*.dll into your vim installation path. – Christian Brabandt Feb 3 '17 at 6:45
  • I think should ask that on their issue tracker you'll be read by people actually developing/contributing to/using the plugin who will probably have a better knowledge of the plugin. – statox Feb 3 '17 at 8:27
  • @ChristianBrabandt -- the version mismatch fixed it -- thanks! I had 32-bit VIM and 64 bit python. Installing the 64bit vim, fixed it. – BotWhisperer Feb 3 '17 at 15:40
1

If your output from :version is to be believed you have vim build with both python2 and python3 support (dynamic). This will always trigger YCM to use the python 2 code paths. See the s:UsingPython2() function here which decides the path.

function! s:UsingPython2()
  " I'm willing to bet quite a bit that sooner or later, somebody will ask us to
  " make it configurable which version of Python we use.
  if has('python')
    return 1
  endif
  return 0
endfunction


let s:using_python2 = s:UsingPython2()
let s:python_until_eof = s:using_python2 ? "python << EOF" : "python3 << EOF"
let s:python_command = s:using_python2 ? "py " : "py3 "

Removing the python 2 support should allow YCM to choose the correct version on its own.

  • thanks for the insight, but the problem was 32 v 64 bit. (I tried this first, but no luck). Thanks! – BotWhisperer Feb 3 '17 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.