Browse Source

doc: prefer "python -m pip" (#14353)

The current guidance for install Python packages is to use

    python -m pip install <package_name>

Instead of

    pip install <package_name>

This ensures that one is using the version of pip that is tied to the
environment's interpreter (and, thusly, its packages).  This has [been
endorsed by a core
maintainer](https://snarky.ca/why-you-should-use-python-m-pip/) as
being the recommended way to invoke pip.

As there currently are a few places where the old invocation was used,
attempt to bring them in line.

Fixes #14234
pull/14365/head
Aru Sahni 3 weeks ago
committed by GitHub
parent
commit
d9c7adc64c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      runtime/autoload/health/provider.vim
  2. 2
      runtime/doc/provider.txt

10
runtime/autoload/health/provider.vim

@ -400,8 +400,6 @@ function! s:check_python(version) abort
endfor
endif
let pip = 'pip' . (a:version == 2 ? '' : '3')
if empty(python_exe)
" No Python executable can import 'neovim'. Check if any Python executable
" can import 'pynvim'. If so, that Python failed to import 'neovim' as
@ -413,9 +411,9 @@ function! s:check_python(version) abort
\ 'Detected pip upgrade failure: Python executable can import "pynvim" but '
\ . 'not "neovim": '. pynvim_exe,
\ "Use that Python version to reinstall \"pynvim\" and optionally \"neovim\".\n"
\ . pip ." uninstall pynvim neovim\n"
\ . pip ." install pynvim\n"
\ . pip ." install neovim # only if needed by third-party software")
\ . pynvim_exe ." -m pip uninstall pynvim neovim\n"
\ . pynvim_exe ." -m pip install pynvim\n"
\ . pynvim_exe ." -m pip install neovim # only if needed by third-party software")
endif
else
let [pyversion, current, latest, status] = s:version_info(python_exe)
@ -440,7 +438,7 @@ function! s:check_python(version) abort
if s:is_bad_response(current)
call health#report_error(
\ "pynvim is not installed.\nError: ".current,
\ ['Run in shell: '. pip .' install pynvim'])
\ ['Run in shell: '. python_exe .' -m pip install pynvim'])
endif
if s:is_bad_response(latest)

2
runtime/doc/provider.txt

@ -88,7 +88,7 @@ Example using pyenv: >
pyenv install 3.4.4
pyenv virtualenv 3.4.4 py3nvim
pyenv activate py3nvim
pip install pynvim
python3 -m pip install pynvim
pyenv which python # Note the path
The last command reports the interpreter path, add it to your init.vim: >
let g:python3_host_prog = '/path/to/py3nvim/bin/python'

Loading…
Cancel
Save