From 6a20094fb03027d9734ecde24648baacf4069de5 Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Tue, 17 Oct 2023 17:41:06 -0700 Subject: [PATCH] neovim: Update venv if global Python version changes --- neovim/postinstall | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/neovim/postinstall b/neovim/postinstall index 6e15a37..c441985 100755 --- a/neovim/postinstall +++ b/neovim/postinstall @@ -2,5 +2,19 @@ set -exuo pipefail -[ -d ~/.virtualenvs/neovim3 ] || python3 -m venv ~/.virtualenvs/neovim3 -~/.virtualenvs/neovim3/bin/python -c 'import pynvim' || ~/.virtualenvs/neovim3/bin/pip install pynvim +VENV="~/.virtualenvs/neovim3" +PYTHON="${VENV}/bin/python" + +if [ -d "${VENV}" ]; then + # Upgrade the venv if the global Python version has changed. + local_py=$("${PYTHON}" --version) + global_py=$(python3 --version) + if [ "${local_py}" != "${global_py}" ]; then + python3 -m venv --upgrade "${VENV}" + "${PYTHON}" -m pip install --upgrade pip + fi +else + python3 -m venv "${VENV}" +fi + +"${PYTHON}" -c 'import pynvim' || "${PYTHON}" -m pip install pynvim