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.