Puisque l'environnement a été construit sur Ubuntu 18.04, je le laisserai comme mémo de travail. Utilisez pyenv pour installer Python 3.8.
Ubuntu 18.04.3 LTS
$ sudo apt install git
Clonez pyenv depuis github.
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Définissez le chemin vers une variable d'environnement. Pour Ubuntu, écrivez-le dans .bashrc au lieu de .bash_profile. [référence] https://github.com/pyenv/pyenv#basic-github-checkout
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
Configurez pyenv pour qu'il démarre lorsque le shell démarre.
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
Confirmation de rechargement et d'installation du shell.
$ exec "$SHELL"
$ pyenv --version
pyenv 1.2.15-2-g22c02022
Installez les packages nécessaires pour construire Python. [référence] https://github.com/pyenv/pyenv/wiki#suggested-build-environment
$ sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Installez Python 3.8.0 (attendez patiemment car cela prendra du temps)
$ pyenv install 3.8.0
Confirmation d'installation
$ pyenv versions
* system
3.8.0
Python 3.8 n'est pas activé simplement en installant avec pyenv, alors spécifiez la version explicitement.
$ mkdir -p ~/sample/py38
$ cd ~/sample/py38
$ pyenv local 3.8.0
Python3.8 est activé sous local (sous le répertoire py38 dans l'exemple ci-dessus). (Idem pour la commande pip)
$ python --version
Python 3.8.0
$ pip --versoin
pip 19.2.3
$ pip install pipenv
$ pipenv --version
pipenv, version 2018.11.26
Si vous spécifiez PIPENV_VENV_IN_PROJECT = true
dans la variable d'environnement, le répertoire venv est créé directement sous le projet. Puisqu'il est facile de lier avec vscode, définissez-le sur true ici.
$ mkdir pipenvdemo
$ cd pipenvdemo
$ export PIPENV_VENV_IN_PROJECT=true
$ pipenv --python 3