質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.91%

vim8にdeinを使用してdeoplete.nvimをプラグインする

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 637

pi-500

score 15

前提・実現したいこと

vim8にdeinを使用してdeoplete.nvimをプラグインしたいと考えています。
gitのdeoplete.nvimのページ(https://github.com/Shougo/deoplete.nvim)を参考にしながら、vimrcへの設定を行なっていますが、errorが大量に出て実装することができません。errorに関して検索しましたが、自分の理解力不足のため解決することができませんでした。

発生している問題・エラーメッセージ

・.vimrcの:messageに以下のようなerrorgが出力されています。

[vim-hug-neovim-rpc] failed executing: pythonx import [pynvim|neovim]
[vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named 'neovim'
[deoplete] [vim-hug-neovim-rpc] requires one of `:pythonx import [pynvim|neovim]` command to
 work
[deoplete] function deoplete#enable[9]..deoplete#initialize[1]..deoplete#init#_initialize[10
]..<SNR>41_init_internal_variables[10]..neovim_rpc#serveraddr, 行 18
[vim-hug-neovim-rpc] failed executing: pythonx import [pynvim|neovim]
[vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named 'neovim'
function deoplete#enable[9]..deoplete#initialize[1]..deoplete#init#_initialize[10]..<SNR>41_
init_internal_variables[28]..neovim_rpc#serveraddr の処理中にエラーが検出されました:
行   18:
E605: 例外が捕捉されませんでした: [vim-hug-neovim-rpc] requires one of `:pythonx import [pyn
vim|neovim]` command to work
function deoplete#enable の処理中にエラーが検出されました:
行    9:
E171: :endif がありません

該当のソースコード

・.vimrcのプラグインに関係する部分です。

"dein Scripts-----------------------------
if &compatible
  set nocompatible               " Be iMproved
endif

" Required:
set runtimepath+=/Users/Username/.vim/bundles/repos/github.com/Shougo/dein.vim

" Required:
if dein#load_state('/Users/Username/.vim/bundles')
  call dein#begin('/Users/Username/.vim/bundles')

  " Let dein manage dein
  " Required:
  call dein#add('/Users/Username/.vim/bundles/repos/github.com/Shougo/dein.vim')

  " Add or remove your plugins here like this:
  "call dein#add('Shougo/neosnippet.vim')
  "call dein#add('Shougo/neosnippet-snippets')"
    call dein#add('Shougo/deoplete.nvim')
    let g:deoplete#enable_at_startup = 1
    if !has('nvim')
      call dein#add('roxma/nvim-yarp')
      call dein#add('roxma/vim-hug-neovim-rpc')
    endif

  " Required:
  call dein#end()
  call dein#save_state()
endif

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
if dein#check_install()
  call dein#install()
endif

"End dein Scripts-------------------------

試したこと

errorメッセージを検索しましたが、有効な解決策は見つかりませんでした。

補足情報(FW/ツールのバージョンなど)

・vimにpython3は取り込まれている。
・vimのversionは8.2

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+2

  1. deoplete.nvimにはpynvimが必要
  2. vim上の+python3はあくまでpythonを読み込めるよーってやつ
  3. python3,pynvimをインストールする必要がある

やるべきこと
python3をインストールする
pynvimをインストールする

とりあえずここの確認をしてみてください
もしpython3もpynvimもインストールされていてこのエラーが出ていた場合は
使用しているpython3のフルパスをg:python3_host_progに代入してください

let g:python3_host_prog = 'python3へのフルパス'


使用しているpython3のフルパスは
windowsだとコマンドプロンプト上where python3もしくはwhere python
Ubuntuなどだとwhich python3もしくはwhich python
を利用して表示することができます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/22 07:07

    こちらはdeopleteではなくneosnippetのエラーになります

    neosnippetは通常スニペットは一個も登録されていないです
    そのため、スニペット集を登録している必要があります。

    おそらくneosnippetの行のコメントアウトがされていないのに
    neosnippet-snippetsがコメントアウトされてインストールされていない可能性があります

    キャンセル

  • 2020/07/22 09:35

    はい。そうですね。

    キャンセル

  • 2020/07/22 22:47

    なるほど、そちらはそちらで検索して対処してみます。
    問題が別の部分であることが明確になり、泥沼化せずにすみました。
    上で記述したようにpynvimをvimで参照するpythonに対して入れられていないようでした。丁寧に解説していただきありがとうございました。

    キャンセル

0

vim8を諦めてneovimにしました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

作者です。

:python3 import pynvim が動作することを確認してください。おそらくエラーになると思います。
if_python3 が参照する Python3 に pip3 経由で pynvim をインストールする必要があるのです。

pynvim が入っていても、本当に Vim が参照している Python にインストールされていますか?
それを確かめるには Vim の中から上記のコマンドを実行するしかありません。
システムの Python と Vim が見ている Python というのは違ったりしているのでややこしいのです。
Vimが見る Python は Vim をビルドするときに確定します。

vim8を諦めてneovimにしました。

neovim だともっと単純なので、neovim のほうが問題の対処は楽だと思います。
Vim の挙動、Python の挙動を知らないとハマりやすいです。

この状況を見る限り、環境は Mac ですか?
Macで homebrew 経由でインストールする場合下記のような問題があるので注意ですよ。

https://github.com/roxma/vim-hug-neovim-rpc/issues/47

なんかこれの問題のような気が……。

補足情報(FW/ツールのバージョンなど)
  >・vimにpython3は取り込まれている。
>・vimのversionは8.2

エスパーしないと詳しい環境が分からないので、環境の話をもっと提示してくだ
さい。Vim の :version の結果を貼り付けてもらうのが一番楽です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/22 22:44

    回答ありがとうございます。
    もう少しvim8で粘ってみます。
    :python3 import pynvim
    は確かにうまく作動しませんでした。回答にあるようにvimとシステムが参照するpythonが違っていたようです。以下のサイトを参考にしながら、pynvimをpython@3.8で入れるとerrorが無くなり正常にプラグインできました。お騒がせしてすみませんでした。
    https://qiita.com/r_plus/items/86669fff04f1dcc0310f

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る