Neovim의 CheckHealth에서 Python 연합 주변에서 경고가 발생하는 경우

7045 단어 neovim파이썬

배경



Neovim을 homebrew로 설치하면 :CheckHealth 명령을 실행하라는 메시지가 나타납니다. 지시에 따라 명령을 실행하면 몇 가지 WARNING 및 ERROR가 표시됩니다. 그 중에는 Python 2 provider와 Python 3 provider에 대한 것이있었습니다. 이것을 고치고 싶다.
## Python 2 provider
  - WARNING: No Python interpreter was found with the neovim module.  Using the first available for diagnostics.
  - WARNING: provider/pythonx: Could not load Python 2:
    /usr/local/bin/python2 does not have the neovim module installed. See provider-python.
    /usr/local/bin/python2.7 does not have the neovim module installed. See provider-python.
    /usr/bin/python2.6 does not have the neovim module installed. See provider-python.
    /usr/local/bin/python does not have the neovim module installed. See provider-python.
  - INFO: `g:python_host_prog` is not set.  Searching for python2 in the environment.
  - SUCCESS: pyenv found: "/usr/local/Cellar/pyenv/1.0.10_1/libexec/pyenv"
  - ERROR: Command error (1) "/usr/local/Cellar/pyenv/1.0.10_1/libexec/pyenv" which python2 2>/dev/null:
  - WARNING: pyenv couldn't find python2.
  - WARNING: pyenv is not set up optimally.
    - SUGGESTIONS:
      - Suggestion: Create a virtualenv specifically for Neovim using pyenv and use "g:python_host_prog".  This will avoid the need to install Neovim's Pytho
      n client in each version/virtualenv.
  - INFO: Executable: /usr/local/bin/python2
  - ERROR: Command error (4) /usr/local/bin/python2 -c import neovim; print(neovim.__file__): Traceback (most recent call last):  File "<string>", line 1, in
   <module>ImportError: No module named neovim
  - INFO: Python2 version: 2.7.13
  - INFO: python2-neovim version: unable to find nvim executable
  - ERROR: Neovim Python client is not installed.
    - SUGGESTIONS:
      - Error found was: unable to find nvim executable
      - Use the command `$ pip2 install neovim`
  - WARNING: Latest python2-neovim is NOT installed: 0.1.13

## Python 3 provider
  - WARNING: No Python interpreter was found with the neovim module.  Using the first available for diagnostics.
  - WARNING: provider/pythonx: Could not load Python 3:
    /usr/local/bin/python3 does not have the neovim module installed. See provider-python.
    python3.5 not found in search path or not executable.
    python3.4 not found in search path or not executable.
    python3.3 not found in search path or not executable.
    /usr/local/bin/python is Python 2.7 and cannot provide Python 3.
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - SUCCESS: pyenv found: "/usr/local/Cellar/pyenv/1.0.10_1/libexec/pyenv"
  - ERROR: Command error (5) "/usr/local/Cellar/pyenv/1.0.10_1/libexec/pyenv" which python3 2>/dev/null:
  - WARNING: pyenv couldn't find python3.
  - WARNING: pyenv is not set up optimally.
    - SUGGESTIONS:
      - Suggestion: Create a virtualenv specifically for Neovim using pyenv and use "g:python3_host_prog".  This will avoid the need to install Neovim's Pyth
      on client in each version/virtualenv.
  - INFO: Executable: /usr/local/bin/python3
  - ERROR: Command error (8) /usr/local/bin/python3 -c import neovim; print(neovim.__file__): Traceback (most recent call last):  File "<string>", line 1, in
   <module>ModuleNotFoundError: No module named 'neovim'
  - INFO: Python3 version: 3.6.1
  - INFO: python3-neovim version: unable to find nvim executable
  - ERROR: Neovim Python client is not installed.
    - SUGGESTIONS:
      - Error found was: unable to find nvim executable
      - Use the command `$ pip3 install neovim`
  - WARNING: Latest python3-neovim is NOT installed: 0.1.13

로컬 환경



pyenv 와 pyenv-virtualenv 도 homebrew 로 인스톨 하고 있어, shell 의 설정 ( eval "$(pyenv init -)" 라든지)은 이미 행해지고 있는 상태였다. 그러나 시스템 이외의 환경은 설치되어 있지 않습니다. 위의 에러에서 pyenv는 있지만 python3이 없다거나 어떻게든 지적되고 있다.

대처



pyenv와 pyenv-virtualenv를 사용하고 있으므로 설치되어 있지 않은 경우 먼저 설치하십시오.

python2 및 python3을 pyenv에 설치


pyenv install --list 에서 조사한 가운데 각각의 최신 버젼을 인스톨 했다.
pyenv install 2.7.13
pyenv install 3.6.1

Neovim 전용 virtualenv를 만들고 neovim 설치



neovim-2라는 virtualenv를 만들고 활성화하고 neovim 패키지를 설치했습니다.
pyenv virtualenv 2.7.13 neovim-2 # 2.7.13 を使った neovim-2 という virtualenv を作成
pyenv shell neovim-2             # 一時的に neovim-2 を有効化
pip install neovim               # neovim-2 に neovim パッケージをインストール

마찬가지로 neovim-3도 만들었다.
pyenv virtualenv 3.6.1 neovim-3
pyenv shell neovim-3
pip install neovim

init.vim에서 경로 지정



오류 메시지에서와 같이 g:python_host_progg:python3_host_prog을 다음과 같이 지정했습니다. (PYENV_ROOT=~/.pyenv이 되어 있는 전제)

init.vim
let g:python_host_prog=$PYENV_ROOT.'/versions/neovim-2/bin/python'
let g:python3_host_prog=$PYENV_ROOT.'/versions/neovim-3/bin/python'

재부팅 : CheckHealth 확인



여기서 NeoVim을 다시 시작하고 다시 :CheckHealth 해 보았을 때 WARNING과 ERROR가 사라졌습니다.

... 했을 텐데 , 지금 다시 한번 하면 WARNING 이 나와 있었다 . 그렇지만 ERROR가 아니기 때문에 일단 무시하기로 한다
## Python 2 provider
  - INFO: Using: g:python_host_prog = "/Users/yuku/.pyenv/versions/neovim-2/bin/python"
  - WARNING: Your virtualenv is not set up optimally.
    - SUGGESTIONS:
      - Suggestion: Create a virtualenv specifically for Neovim and use "g:python_host_prog".  This will avoid the need to install Neovim's Python client in each virtualenv.
  - INFO: Executable: /Users/yuku/.pyenv/versions/neovim-2/bin/python
  - INFO: Python2 version: 2.7.13
  - INFO: python-neovim version: 0.1.13
  - SUCCESS: Latest python-neovim is installed: 0.1.13

## Python 3 provider
  - INFO: Using: g:python3_host_prog = "/Users/yuku/.pyenv/versions/neovim-3/bin/python"
  - WARNING: Your virtualenv is not set up optimally.
    - SUGGESTIONS:
      - Suggestion: Create a virtualenv specifically for Neovim and use "g:python3_host_prog".  This will avoid the need to install Neovim's Python client in each virtualenv.
  - INFO: Executable: /Users/yuku/.pyenv/versions/neovim-3/bin/python
  - INFO: Python3 version: 3.6.1
  - INFO: python-neovim version: 0.1.13
  - SUCCESS: Latest python-neovim is installed: 0.1.13

좋은 웹페이지 즐겨찾기