Подготовка виртуального окружения для запуска python приложений в изолированной среде в Ubuntu 22.04 LTS
Делаю:
2023.01.20
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Устанавливаю pyenv (Используется, когда нужна специфическая минорная версия python)
$ sudo apt update && sudo apt upgrade -y
// python3 будет по умолчанию называться python
$ sudo apt install python-is-python3
// На ubuntu
$ sudo apt install -y build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev tk-dev
// В книге Building Data Science Applications with FastAPI рекомендуют
$ sudo apt update; sudo apt install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
$ curl https://pyenv.run | bash
$ vi ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
logout / login
$ echo ${PYENV_ROOT}
Выдает:
/home/marley/.pyenv
$ pyenv install --list | grep python
$ export PYTHON_VERSION=3.8.12
$ pyenv install ${PYTHON_VERSION}
// установить по умолчанию
$ pyenv global ${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
$ mkdir -p ~/projects/dev/python/${PROJECT_NAME}
$ cd ~/projects/dev/python/${PROJECT_NAME}
$ {
pip install pip --upgrade
pip install setuptools --upgrade
}
// Посмотреть список установленных пакетов
// $ pip list -v
$ python --version
$ pip --version