Installation
The Neovim Python client supports Python 3.7 or later.
Using uv or pipx
For automatic detection by Neovim, pynvim should be installed in a dedicated
Python virtual environment and the pynvim-python executable should be placed
on the PATH. The recommended approach for this is to use a tool like uv
(https://docs.astral.sh/uv/) or pipx (https://pipx.pypa.io/stable/); the
--upgrade switch ensures installation of the latest version:
Install using uv (recommended):
uv tool install --upgrade pynvim
Install using pipx:
pipx install --upgrade pynvim
NOTE For Neovim before v0.12.0, set the variable python3_host_prog in
init.vim to point to pynvim-python:
let g:python3_host_prog = 'pynvim-python'
Using manually created Python virtual environment
Alternatively, you may manually create a Python virtual environment (https://docs.python.org/3.13/library/venv.html):
python3 -m venv pynvim-venv
Then install pynvim into the virtual environment; the
--upgrade switch ensures installation of the latest version:
- For Unix::
pynvim-venv/bin/python -m pip install –upgrade pynvim
For Windows:
pynvim-venv\Scripts\python -m pip install --upgrade pynvim
Then copy the pynvim-python executable somewhere on the PATH:
For Unix:
# Assuming `~/.local/bin` is on `PATH`: cp pynvim-venv/bin/pynvim-python ~/.local/bin/pynvim-python
For Windows:
REM Assuming `C:\apps` is on `PATH`: copy pynvim-venv\Scripts\pynvim-python.exe C:\apps\pynvim-python.exe
NOTE For Neovim before v0.12.0, set the variable python3_host_prog in
init.vim to point to pynvim-python:
let g:python3_host_prog = 'pynvim-python'
Install from source
Clone the repository somewhere on your disk and enter to the repository:
git clone https://github.com/neovim/pynvim.git
cd pynvim
Now you can install it following the instructions above, using . instead of
pynvim; the --upgrade switch ensures installation of the latest version:
Install from source using uv:
uv tool install --upgrade .
Install from source using pipx:
pipx install --upgrade .
Install from source using manually created Python virtual environment:
Create
pynvim-venvas above.Install:
For Unix:
pynvim-venv/bin/python -m pip install --upgrade .
For Windows:
pynvim-venv\Scripts\python -m pip install --upgrade .
Copy
pynvim-pythonexecutable as above.
NOTE For Neovim before v0.12.0, set the variable python3_host_prog in
init.vim to point to pynvim-python:
let g:python3_host_prog = 'pynvim-python'
Upgrade pynvim when upgrading Neovim
Make sure to upgrade pynvim when you upgrade Neovim. Follow the previous
instructions; the --upgrade switch will ensure installation of the latest
version.
Explicitly choosing pynvim virtual environment
As an alternative to exposing pynvim-python on PATH, you may configure
Neovim to use a specific Python interpreter that has pynvim installed; this may
be useful when working on pynvim itself.
After installing into a virtual environment named pynvim-venv, add the
following into Neovim’s init.vim file:
For Unix:
let g:python3_host_prog = '/path/to/pynvim-venv/bin/python'
For Windows:
let g:python3_host_prog = 'c:\path\to\pynvim-venv\bin\python.exe'
Installing outside of a virtual environment is deprecated
Installing into the per-user Python site package area is a deprecated practice
with recent Python versions. For example, the following command fails on Ubuntu
24.04 with the error message error: externally-managed-environment:
pip install --user pynvim
Instead, always install into a virtual environment.