Віртуальне оточення

python3 -m venv .env
source .env/bin/activate

каталоги Python зазвичай:

'/home/user/www/site/cgi-bin/test' - каталог скрипта
'/usr/lib/python310.zip'
'/usr/lib/python3.10'
'/usr/lib/python3.10/lib-dynload'
'/usr/local/lib/python3.10/dist-packages'
'/usr/lib/python3/dist-packages'

каталоги Python з вірт. оточенням /work/www/site/.venv
(останні два пішло, новий додався):

'/home/user/www/site/cgi-bin/test' - каталог скрипта
'/usr/lib/python310.zip'
'/usr/lib/python3.10'
'/usr/lib/python3.10/lib-dynload'
'/home/user/www/site/.venv/lib/python3.10/site-packages'

Почитати

Установка pyenv

Должны быть установлены curl, git и gcc

На странице проекта ссылка на автоматический инсталлятор https://github.com/pyenv/pyenv-installer

Ссылка на запуск инсталлятора:

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

Возможно, понадобится дописать в конец указанных файлов (.bash_profile / .bashrc) …

Manjaro

.bash_profile

export PATH="$HOME/.pyenv/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

и выполнить

$ exec $SHELL

Linux Lite

.bashrc

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
and finally, restart your shell:

и выполнить

$ exec $SHELL

Примечание для Linux Lite

При попытке инсталлировать необходимую версию Питона через pyenv, оказалось, не хватает модулей CPython. Пришлось его ставить…

$ git clone https://github.com/python/cpython

Потом делаем это:

sudo apt install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt install zlib1g-dev libsqlite3-dev tk-dev
sudo apt install libssl-dev openssl
sudo apt install libffi-dev

cd ~/cpython
./configure
make
sudo make altinstall

Ждем долго и нудно, в итоге получаем свежайшую версию Питона в /usr/local/bin/ и нужные модули для установки различных версий Питона через pyenv.

Получил варнинги:

WARNING: The directory ‘/home/olex/.cache/pip/http’ or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.

WARNING: The directory ‘/home/olex/.cache/pip’ or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.

Просто создал эти директории: .cache/pip/http

После установки

Смотрим, что мы можем установить:

pyenv install --list

И устанавливаем, например:

pyenv install 3.7.2

i Простой способ заставить выполнятся скрипты на нужной версии Питона - создать файл .python-version в директории скриптов в котором прописать необходимую версию, например:

3.7.2