Подготовка виртуального окружения для запуска python приложений в изолированной среде в Ubuntu 20.04 LTS


Делаю:
27.01.2023


$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal


pyenv (Используется, когда нужна специфическая минорная версия python)


$ sudo apt update && sudo apt upgrade -y

// python3 будет по умолчанию называться python
$ sudo apt install python-is-python3


// На astra linux требовались
# apt-get install -y patch make gcc zlib-devel libssl-devel


// WARNINGS при отсутствии
# apt-get install -y bzip2-devel ncurses-devel readline-devel liblzma-devel libsqlite3-devel


// Ошибка без этого пакета
// ModuleNotFoundError: No module named '_ctypes'
 # apt-get install -y libffi-devel


// На ubuntu
$ sudo apt install -y build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev


$ curl https://pyenv.run | bash


WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by appending
# the following to
~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Restart your shell for the changes to take effect.

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"



$ vi ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"


logout / login


$ echo ${PYENV_ROOT}


// если нет
$ source ~/.bash_profile


$ pyenv install --list | grep python

$ export PYTHON_VERSION=3.8.12

$ pyenv install ${PYTHON_VERSION}


$ ~/.pyenv/versions/${PYTHON_VERSION}/bin/python --version
Python 3.8.12


$ export PROJECT_NAME=<MY_NEW_PROJECT_NAME>

$ pyenv virtualenv ${PYTHON_VERSION} ${PROJECT_NAME}-env

$ source ${PYENV_ROOT}/versions/${PROJECT_NAME}-env/bin/activate


$ pip install pip --upgrade
$ pip install setuptools --upgrade

// Посмотреть список установленных пакетов
// $ pip list -v


$ python --version
$ pip --version