Problèmes avec pip sur fresh install debian

Je travaille sous debian 11, qui vient avec python 3.9; j’ai voulu installer des python plus récents, 3.10, 3.11 et 3.12; Je les ai installés sans problème, suivant recette How to install Python 3.10 on Debian 11 - Tutorials and How To - CloudCone essentiellement upload, compile et make altinstall.
Bout de l’history:

  523  time wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0a1.tgz
  524  lrtail
  525  time tar zxvf Python-3.12.0a1.tgz 
  526  lrtail
  527  cd Python-3.12.0a1
  528  history 
  529  time ./configure --enable-optimizations
  530  history 
  531  time sudo make altinstall
  532  python3.10 -V
  533  python3.11 -V
  534  python3.12 -V

Puis j’ai voulu les essayer dans des environnements virtuels.
Créé sans problème avec mkvirtualenv -p:

mkvirtualenv -p /usr/local/bin/python3.10 p3.10
mkvirtualenv -p /usr/local/bin/python3.11 p3.11
mkvirtualenv -p /usr/local/bin/python3.12 p3.12

Mais dans chaque environnement créé, pip déconne:

(p3.10) ~ 09:43:17 > pip install ipython
Traceback (most recent call last):
  File "/home/virt/p3.10/bin/pip", line 5, in <module>
    from pip._internal.cli.main import main
  File "/home/virt/p3.10/lib/python3.10/site-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/home/virt/p3.10/lib/python3.10/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/home/virt/p3.10/lib/python3.10/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/home/virt/p3.10/lib/python3.10/site-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
    from pip._vendor.packaging.utils import canonicalize_name
ModuleNotFoundError: No module named 'pip._vendor.packaging'

Le pip invoqué vient bien de l’environnement installé par mkvirtualenv.
Le problème semble connu, dans différents contextes, aucune des solutions proposées, sur stackoverflow ou autre, ne semble résoudre le problème.
Coincé.
Je ne tiens pas à basculer vers pipenv, mkvirtualenv m’a toujours donné pleine satisfaction, mais peut être faut-il le ré-installer?

Je vais creuser The Hitchhiker’s Guide to Python! — The Hitchhiker's Guide to Python, suggéré par un post récent ici.
Mais je suis preneur de vos idées.

en essayant avec un simple :
python3.10 -m venv p3.10

Ce qui me pose souci (mais je ne connais pas le soft) c’est que tu utilises mkvirtualenv directement. Ca veut pas dire qu’il se base sur ton python système pour créer l’environnement virtuel ? Ce qui pourrait gêner/coincer ?

En tout cas, ta recette marche! J’avais gardé une vieille méfiance envers le module venv qui, à une époque, “ne faisait pas tout”.
Alors? Adopter ta démarche, ou chercher à comprendre?
Merci en tout cas!

Tenter de comprendre c’est tentant, mais je n’ai à peu près jamais utilisé mkvirtualenv, je ne saurais t’aider.

J’utilise python -m venv sans surprises depuis pas mal d’années, je trouve confortable le fait que ce soit dans la stdlib.

En passant, pas besoin de sudo dans sudo make altinstall si tu passe --prefix="$HOME/.local/" à ./configure.

ça te crée un ~/.local/bin/python3.X, “il suffit” ensuite d’avoir ~/.local/bin/ dans son PATH àla PATH="$PATH:$HOME/.local/bin".

Bien vu, mais quand j’installe du python, ou d’autres outils d’ailleurs, même si c’est une machine perso, j’aime bien que tous les utilisateurs bénéficient de mes installs. Idem virtualenv, j’ai un répertoire /home/virt, pointé par $WORKON_HOME.