ModuleNotFoundError: No module named 'pip._vendor.packaging'

Pas la première fois que je tombe sur ce pb.

(placement) ~ 15:16:17 > pip3 install openpyxl
Traceback (most recent call last):
  File "/home/virt/placement/bin/pip3", line 5, in <module>
    from pip._internal.cli.main import main
  File "/home/virt/placement/lib/python3.12/site-packages/pip/_internal/cli/main.py", line 10, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/home/virt/placement/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py", line 9, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/home/virt/placement/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py", line 7, in <module>
    from pip._internal.cli import cmdoptions
  File "/home/virt/placement/lib/python3.12/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'

J’ai googlé l’erreur, plein d’erreurs similaires, mais les explications partent dans tous les sens, et avec des différences de mise en oeuvre qui rendent inexploitables les autres solus proposées - si tant est que je les comprisse -
faut dire, je ne suis pas passé à venv, mais resté fidèle, à tort ou à raison, à mkvirtualenv.
je suis au début d’un développement, et ya plus d’un an que je n’avais rien développé.
Je vais essayer de varier les versions, à la fois python et virtualenv.

En restant en python 3.9, je n’ai plus le pb.
J’avais installé 3.12, et créé mon virtualenv avec

mkvirtualenv -p /usr/local/bin/python3.12 ../virt/placement

Me reste plus qu’à essayer avec les versions successives de python, voir lequel faillit en premier.
Le plus probable, c’est que ma customisation virtualenv comporte un hack non compatible avec les dernières versions.
Ma question devient plutot: quelle solu, générale et solide, pour gérer les virtualenv? venv n’aurait pas toutes les capacités de virtualenv.

Pour info (car j’aide pas vraiment) : J’utilise venv quotidiennement sans aucun souci, avec toutes les dernières versions de python. Je ne connais pas mkvirtualenv…

Peut-être qu’un petit python -m ensurepip pourrait régler le problème ?
J’essaierais aussi avec python -m pip plutôt que pip3, c’est possible qu’il y ait un truc foireux à ce niveau-là.

Je prendrai bien un petit :

pip --version
python --version
pip list

dans le venv qui échoue, par curiosité.

Et ta version de mkvirtualenv aussi.