2015-08-09 15 views
15

Próbuję użyć neovim z deoplete i UtilSnips. Oba wymagają obsługi Pythona od nvim.Pomoc nie działa

Postępowałem zgodnie z instrukcjami w :help nvim_python, aby ustawić obsługę, ale dane wyjściowe :echo has('python') lub :echo has('python3') są zarówno 0.

Po uruchomieniu nvim pojawia się komunikat UltiSnips requires py >= 2.7 or py3 i dla deoplettu It requires Neovim with Python 3 support ("+python3").

Moje python (2.7.10) i python3 (3.4.3) są instalowane razem z homebrew. Moduł neovim jest zainstalowany pod numerami pip i pip3 z install neovim, ale nvim nie może go znaleźć, nawet jeśli ustawię ścieżkę let g:python_host_prog w nvimrc.

Nie wiem, co mogę zrobić, czy ktoś ma pojęcie, co jest z nim nie tak?

+0

Nie jestem pewien, czy to działa. Wpisz 'where python' lub 'which python', aby sprawdzić, czy twój python jest poprawnie zainstalowany. Następnie ręcznie skonfiguruj swój nvim, aby spojrzeć na wynikową ścieżkę. Kolejnym potencjalnym problemem jest to, że twoja instalacja nvima nie jest taka, jak myślisz, że zainstalowałeś. Czy wykonałeś rozpakowywanie ręczne przed instalacją pip? – Mai

+0

Moje pytony znajdują się w/usr/local/bin/jako wynik polecenia "co". Zainstalowałem nvim przez homebrew, jak opisują to w dokumentacji Neovim dla OS X. – hueby

+0

Mając ten dokładny problem, każda pomoc doceniona –

Odpowiedz

0

Miałem problem sam, ponieważ użyłem neovim wewnątrz virtualenv. Jeśli tak, upewnij się, że w twoim virtualenv jest pip install neovim i upewnij się, że import neovim działa w interpreterze pythonów.

Jeśli to nie pomoże, możesz spróbować uruchomić neovim z komunikatami debugowania (neovim -V3 lub dowolnym innym poziomem logowania) i zobaczyć, co możesz tam wybrać.

12

Proszę postępować zgodnie z instrukcjami na http://neovim.io/doc/user/nvim_python.html, aby skonfigurować interpreter python dla neovim.

Najpierw należy zainstalować plugin neovim

pip install neovim

Print g: loaded_python_provider

echo g:loaded_python_provider

Jeśli zwróci 1, pyton nie jest ustawiony na neovim. W pliku ~/.config/nvim/init.vim ustawić interpreter Pythona

let g:python_host_prog = '/path/to/python2.7'

+0

Nie zapomnij dodać konfiguracji dla python3 też –

+2

Link do http://neovim.io/doc/user/nvim_python.html jest martwy. Czy mamy coś jeszcze? – charlespwd

+1

@charlespwd najbliższy rzecz, którą mogłem znaleźć https://neovim.io/doc/user/provider.html#provider-python – Ullullu

0

Jeśli podczas próby niech [interp, Błędy] = provider # pythonx # Detekcja (2)

Od docs na https://github.com/neovim/neovim/wiki/Troubleshooting#python-support-isnt-working

Otrzymujesz błędy, może być to, że Twoja zmienna środowiskowa VIM wskazuje na zły (prawdopodobnie vim74) katalog środowiska wykonawczego.

Neovim potrzebuje pythonx.vim z katalogu runtime/autoload/providers /, aby załadować interprety Pythona. Vim74 nie udostępnia tego pliku.

Jeśli masz env. Zmienna VIM (ze ścieżką), użyje go jako lokalizacji plików runtime - miałem swój zestaw do/usr/share/vim/vim74, zmieniając go na lokalizację neovima. Domyślam się, że istnieje opcja czasu kompilacji wskazująca również prawidłową lokalizację.

1

Założę się, że masz wiersz w pliku init, który zaczyna się od "set runtimepath =". Zmień na "ustaw runtimepath + ="

5

Ostatnio napotkałem ten sam problem. Oto kroki zaadaptowane z odpowiedzi @VforVitamin, w której sprawiłem, że działała.

Zakładając, że zainstalowane są python2 i python3.

  1. Zainstaluj wtyczkę neovim pip3 install neovim.
  2. Otwórz neovim.
  3. Wykonaj polecenie :UpdateRemotePlugins.
  4. Uruchom ponownie neovim.
0

Byłem z tym samym problemem, a rozwiązanie faktycznie wynika z pytania.

Co zrobiłem było:

pip install --upgrade pip 
pip3 install --upgrade pip 

sudo pip install setuptools 
sudo pip3 install setuptools 

sudo pip install neovim 
sudo pip3 install neovim 

Po nim wchodzi w neovim i :UpdateRemotePlugins. Zamknij i otwórz ponownie.

Po tych krokach miałem neovim działa poprawnie.

Edit:

Dla osób korzystających Arch Linux, mamy osobliwość o Pythonie. Kroki są:

  1. Install PIP (python3) i PIP2 (python2): pacman -S python-pip python2-pip
  2. Zamiast pip3, należy użyć pip2

Poza tą niewielką różnicą, reszta komend działa całkiem w podobny sposób.