Installer une version 3.8 à côté de la 3.10 par défaut

Bonjour,

J’utilise une 3.10 (installée sur un dérivé d’Ubuntu 22.04) mais je rencontre quelques soucis avec beeware (https://beeware.org/) pour lesquels je souhaite pouvoir faire des essais avec la version 3.8 (cf msg briefcase “Warning: Python version 3.10 may have fewer packages available. If you experience problems, try switching to version 3.8.” )
Quelle est la meilleure façon d’installer la 3.8 sans mettre (trop) le bazar sur la 3.10 ?
Merci de votre aide :slight_smile:

Personnellement j’utilise pyenv depuis des années, et ça me permet de maintenir plusieurs versions locales de Python et de switcher de l’une à l’autre de manière très aisée. De plus, si on ne veut pas utiliser les binaires fournis avec pyenv, on peut tout faire avec le shell donc c’est assez neutre.

1 « J'aime »

Personnellement je trouve que pyenv est une usine à gaz, leurs “shims” me sortent par les yeux.

Alors j’utilise un simple shell script : mdk/compile-python - compile-python - Le Gitea de l'AFPy

Mais comme le shell script l’indique, rien de compliqué : ./configure --prefix="$HOME/.local/", make, make altinstall.

toute la magie est dans le altinstall : il te crée un ~/.local/bin/python3.8 au lieu de ~/.local/bin/python3, comme ça tu choisis la version que tu lance :

python3    # la version installée par le gestionnaire de paquets de ta distrib'
python3.8  # Ta 3.8

Pas besoin de cloner mon repo : copie colle juste la fonction qui t’intéresse, adapte là a tes besoin (vire le --with-pydebug si tu n’en as pas besion, il est très coûteux en perfs). D’ailleurs je vais le virer de mon repo ce --with-pydebug, je n’en ai pas trop l’utilité en ce moment…

2 « J'aime »

Voilà c’est nettoyé. Ça fait moins de 40 lignes pour :

  • Compiler quasiment n’importe quelle version de cpython : compile-python 3.9.17 par exemple.
  • Compiler toutes les dernières versions de cpython : compile-pythons.
  • Avec de l’auto-complétion :
$ compile-python 3.9.
3.9.0   3.9.1   3.9.10  3.9.11  3.9.12  3.9.13  3.9.14  3.9.15  3.9.16  3.9.17  3.9.2   3.9.3   3.9.4   3.9.5   3.9.6   3.9.7   3.9.8   3.9.9   
3 « J'aime »

J’utilise le script de @mdk :slight_smile:

1 « J'aime »

Sur Ubuntu, y’a le PPA deadsnakes qui fournit un large choix de versions de Python: deadsnakes in Launchpad

Perso j’utilise Fedora qui propose un grand nombre de versions Python avec la commande standard: “dnf install python3.8”.

2 « J'aime »

Tu as la rubrique Python Development Environment du The Hitchhiker’s Guide to Python! — The Hitchhiker's Guide to Python par exemple.

1 « J'aime »