I am trying to get UltiSnips to work with gVim on my Windows 10 machine and for some reason I keep getting the error:
Error detected while processing function UltiSnips #TrackChange:
line 1:
E370: Could not load library C:\Users\isaac\AppData\Local\Programs\Python\python36.dll
Error detected while processing function UltiSnips #TrackChange:
line 1:
E263: Sorry, this command is disabled, the Python library could not be loaded.
My vimrc that I have setup is written up like so:
set pythonthreehome=C:\Users\isaac\AppData\Local\Programs\Python\Python36
set pythonthreedll=C:\Users\isaac\AppData\Local\Programs\Python\Python36\python36.dll
call plug#begin('C:\Users\isaac\Desktop\Vim\vimfiles\plugged')
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/syntastic'
call plug#end()
syntax on
" Vim with all enhancements
source $VIMRUNTIME/vimrc_example.vim
" Use the internal diff if available.
" Otherwise use the special 'diffexpr' for Windows.
if &diffopt !~# 'internal'
set diffexpr=MyDiff()
endif
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
set guifont=Consolas:h12
colorscheme morning
I have tried to troubleshoot the issue and it is unclear to me whether I should be putting quotes around the path variables, if they path should be written like in unix, if the backslashes are supposed to escaped, or if I shouldn't even be using set
and I should alter the pythonthreehome
and pythonthreedll
variables using this instead.
let &pythonthreehome='C:\Users\isaac\AppData\Local\Programs\Python\Python36'
let &pythonthreedll='python36.dll'
Any help would be much appreciated. Thanks!
:version
. To determine the installation platform of Python 3.6 run in a consoleC:\Users\isaac\AppData\local\Programs\Python\Python36\python.exe
if it contains[MSC v.1916 64 bit (AMD64)]
the installation platform is Amd64, if it contains[MSC v.1916 32 bit (Intel)]
the installation platform is Win32.