Bonjour à tous,
J'essaie de lancer un projet avec une version antérieur de python sous debian trixie.
Je voulais créer un virtualenv comme on me l'a conseillé mais je n'arrive pas à changer de version de python3.
En faisant ceci.
python3 -m venv venv
source venv/bin/activate
(venv) user@rpi:~/coral/pycoral $ virtualenv -p python3.9 venv
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.9'
(venv) user@rpi:~/coral/pycoral $ pip install python==3.9
ERROR: Could not find a version that satisfies the requirement python==3.9 (from versions: none)
ERROR: No matching distribution found for python==3.9
WARNING: There was an error checking the latest version of pip.
Quel est la méthode que vous utilisez pour changer la version courante de python dans un venv ?
Merci pour vos retours.
# version python
Posté par guitou . Évalué à 4 (+3/-0).
Pour Ubuntu, je ne connais pas vraiment, mais il y' a apparemment un ppa qui permet de gerer ca simplement.
Pour Debian, a ma connaissance tu peux utiliser pyenv notamment, ou pour suivre la mode rust uv (au revoir l'enfer des dependances python, bonjour l'enfer des dependances rust :p)
++
Gi)
[^] # Re: version python
Posté par fero14041 . Évalué à 2 (+1/-0). Dernière modification le 04 décembre 2025 à 20:54.
Une alternative que j'ai récemment découverte: passer par mise-en-place, combinée avec uv.
J'installe d'abord
mise, puisuvviamisede manière globale:Et enfin, pour le projet Python pour lequel je veux la version 3.9:
Le virtualenv se trouve alors dans
myproject/.venv, et ses binaires sont appelables de différentes manières, notamment:PS: Les styles sont cassés, je ne comprends pas pourquoi—il est trop tard sans doute ;-/
[^] # Re: version python
Posté par Benoît Sibaud (site web personnel) . Évalué à 4 (+1/-0).
Les triple quotes nécessitent une ligne blanche avant.
[^] # Re: version python
Posté par fero14041 . Évalué à 1 (+0/-0).
Merci Benoît!
[^] # Re: version python
Posté par NeoX . Évalué à 4 (+1/-0). Dernière modification le 05 décembre 2025 à 13:51.
et encore mieux le langage juste apres
dans ton cas
```python
import talibpython
puis toncode python
avec les indentations
if
necessaire
lasuite du code
```
devient alors
# chemin complet
Posté par BAud (site web personnel) . Évalué à 3 (+1/-0).
plutôt que de mettre python3.9 mets le chemin complet
c'est ce qui est indiqué sur https://fr.python-3.com/?p=5705
# Compiler
Posté par Craig77 . Évalué à 5 (+4/-0). Dernière modification le 04 décembre 2025 à 19:01.
Si le paquet python3.9 n'est pas dispo dans le gestionnaire de paquet, tu peux compiler python3, l'installer par exemple dans /opt/python3.9.
Tu trouveras ce qu'il faut là
Ensuite tu crées ton venv avec
$ /opt/python3.9/python -m venv venv
ou quelque chose de ce genre. Dans le venv le binaire python sera bien python 3.9.
# pyenv
Posté par LaurentClaessens (site web personnel) . Évalué à 8 (+6/-0). Dernière modification le 04 décembre 2025 à 21:48.
La magie est
pyenv: ça compile la version que tu veux de python et la garde dans~/.pyenv/versions/3.xx. Ensuite les venv font des liens de l’exécutablepython3vers celui qu'on veut.Je tape de mémoire; il y a peut-être un ou deux chemins à adapter.
À faire dans la home:
À partir de là tu as un python 3.10.6 dans
~/.pyenv/version/3.10.6.Ensuite dans ton projet :
Maintenant le fichier
/chemin/vers/mon/projet/venv/bin/python3est un lien vers le python 3.10.6 fraîchement compilé.Et enfin tu installes :
cd /chemin/vers/mon/projet/venv/bin/python3
./python3 -m pip install --upgrade pip
./pip3 install -r /chemin/vers/mon/projet/requirements.txt
Maintenant ton script contient :
et les imports se feront à partir de
venv/lib/python3.13/site-packages.CONSEIL: ne source pas le venv. Utilise un shebang dans le script. Moins de suprises en cas d'oubli.
CONSEIL : je jamais. JAMAIS faire de
pip installdans le python du système. Sinon tu passes du python c'est bien à l'enfer.[^] # Re: pyenv
Posté par fearan . Évalué à 7 (+4/-0).
Purée, si au moins les gens faisant la doc de leur projets faisaient comme tu l'indique… Toutes les docs que j'ai lu ne se donnent pas cette peine…
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
# Un outil méconnu: pixi
Posté par Olivier4400 . Évalué à 3 (+2/-0). Dernière modification le 07 décembre 2025 à 21:24.
Il y a un outil méconnu mais très pratique qui peut faire ça, c’est pixi. Pour ceux qui connaissent Conda, c’est une réimplémentation en Rust, très rapide et compatible avec les forges Conda, comme conda-forge.
Voilà un exemple:
pyproject.toml:
main.py:
Execution:
pixi va téléchargement automatiquement toutes les dépendances et les mettre à disposition du projet, sans toucher le système, comme un venv.
Là j’utilise une task, mais il est aussi possible d’utiliser l’environnement interactivement (pixi shell), comme pour un venv là aussi…
Ici, c’est un projet Python (pyproject).toml, mais pixi permet aussi de créer des projets génériques (pixi.toml). Ça peut être une alternative plus simple et légère à Docker.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.