Bonsoir
Lorsque j’appelle python, rien ne se passe. Il est nécessaire d’appeler python3
Mon très mauvais anglais a réussi a me faire percevoir que la méthode par alternative pouvait avoir des effets de bord … fâcheux.
Je me suis contenté de quelque chose à ma portée intellectuelle ; j’ai fait un lien symbolique de /usr/bin/python3 comme /usr/bin/python
Ai-je fait une connerie ?
Merci d’avance de vos avis circonstanciés.
Normal depuis Debian12
https://www.debian.org/doc/packaging-manuals/python-policy/?utm_source=chatgpt.com
@BMr le passage qui t’intéresse est là :
The packages
python-is-python3andpython-dev-is-python3provide the/usr/bin/python,/usr/bin/python-configand/usr/bin/pydoccommands pointing to Python3. These packages can be installed by developers and users to use the unversioned commands. NOTE: Locally installed software not yet ported to Python3 is likely to break when installing these packages.
Petit aparté, c’est vraiment fou de voir toute la doc qui existe sur Debian, je découvre et je suis vraiment impressionné !
Bonjour Thierz
Oui, et c’est surtout ça qui me manquait et qui m’a fait passer sous Linux.
Quand j’ai commencé à me rendre compte qu’un manuel était installé avec pratiquement chaque programme, je me suis régalé de découvrir tout ça (bien sûr, il m’en reste encore beaucoup à lire).
Mon niveau d’anglais était très faible, alors j’avais mon gros dictionnaire anglais/français à côté de moi, et sans m’en rendre compte, mon niveau en anglais et en informatique ce sont bien améliorés. C’était à l’époque des modems 33K.
Pour pouvoir lire les pages de manuel, j’ai regretté de ne pas avoir appris plus tôt à me servir de la commande less, car c’est le pager less qui est utilisé par la commande man et aussi par beaucoup d’autres commandes et ça fait gagner un temps de fou de savoir utiliser la commande less quand on veut faire des recherches dans les pages des manuels et dans la sortie de certaines commandes.
Là tu me parles chinois, mais promis je me note de me documenter sur less et man 
salut
C’est le script/application que tu utilises qui est codé « en dur » avec python?
il existe un outil pour jongler avec les versions
Bonjour,
Ca fait « longtemps » qu’on ne doit plus faire ainsi, dans les scripts python, mais :
#!/usr/bin/env python3
Ainsi quelque soit la version de python3 installée, le système se débrouille à l’utiliser.
(il paraît que « c mieux »)
De ce que je comprends, j’ai l’impression qu’il n’est pas dans un script, mais dans le shell en ligne de commande, en train d’essayer d’appeler :
$ python
apt install python-is-python3
En fait, c’est très simple.
Pour une introduction, entre dans une fenêtre de terminal
la ligne de commande suivante :
man intro
Il existe un manuel pour la commande man que tu pourras lire
en lançant la ligne de commande suivante :
man man
Il y a un manuel pour la commande env
man env
Il y a un manuel pour la commande python
man python
Il y a un manuel pour la commande less
man less
Il y a un manuel pour la commande update-alternatives
man update-alternatives
Etc.
Et donc, il existe plein de manuels qui sont déjà accessibles dans une installation linux, même sans avoir à aller rechercher de la doc sur internet, d’autant que la doc trouvée sur internet ne sera pas forcement à jour, ou/et ne correspondra pas tout-à fait à ce qui est installé sur notre système
Une très grande partie de manuels ont été traduits en français.
Je te laisse le plaisir de découvrir tout ça.
Cordialement.
C’est une très mauvaise idée les liens symbolique.
Outre qu’un certain nombre de programme n’aiment pas les liens symboliques, la sécurité non plus. Car c’est une faille assez commune.
Quelle(s) faille(s) ?
Tu as le moindre exemple concret ? Ou est-ce encore un pur produit de ton imagination ?
–
AnonymousCoward
@Zargos J’ai supprimé le lien que j’ai fait, installer le paquet, paquet qui installe … un lien symbolique.
la vrai réponse c’est d’utiliser python3 au lieu de python
Si tu utilises un « environnement virtuel », à l’aide de logiciels tels que les python3-venv , python3-virtualenv , pyenv ou encore astral uv tu peux alors « activer » cet environnement virtuel et la commande python pointera alors vers la bonne version de Python.
toto@machine:~$ python --version
-bash: python: command not found
toto@machine:~$ source test/.venv/bin/activate
(test) toto@machine:~$ python --version
Python 3.14.0
(test) toto@machine:~$ deactivate
toto@machine:~$ python --version
-bash: python: command not found
Cela permet aussi d’avoir des packages / librairies Python supplémentaires, disponibles uniquement dans le cadre de cet environnement virtuel et qui ne « polluent » pas le reste de l’OS.
On peut aussi faire cela via un shebang comme décrit précédemment par PengouinPdt .
–
Anonymous Coward
