[[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
==== Python - Gérer plusieurs versions de Python sous Windows avec pyenv-win ====
[Mise à jour le : 30/10/2024]
* **Sources**
* **Github** : pyenv-win
* **Ressources**
* **Real Python** : Managing Multiple Python Versions With pyenv \\
----
\\
=== 1. Pourquoi utiliser pyenv-win ? ===
pyenv-win est la version Windows de pyenv. pyenv est un excellent outil pour **gérer plusieurs versions de Python**. Même si Python est déjà installé sur votre système, il est interressant d'installer pyenv afin de pouvoir facilement tester de nouvelles fonctionnalités du langage ou contribuer à un projet qui utilise une version différente de Python. L'utilisation de pyenv est également un excellent moyen d' installer des versions préliminaires de Python afin de pouvoir les tester pour détecter les bugs.
\\
=== 2. Démarrage rapide avec powershell (en administrateur) ===
- Vérifier que powershell autorise l'exécution des scripts.\\
Get-ExecutionPolicy
# Si restricted faire
Set-ExecutionPolicy RemoteSigned
- Installez pyenv-win
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"
- Rouvrir PowerShell \\ \\
- Exécutez **pyenv --version** pour vérifier si l'installation a réussi.pyenv --version
# Exemple de résultat : pyenv 3.1.1
- Exécutez **pyenv install -l** pour vérifier la liste des versions de Python prises en charge par pyenv-win. \\ \\
- Exécutez **pyenv install** pour installer la version prise en charge.
pyenv install 3.10.11
# Résultat ->
# :: [Info] :: Mirror: https://www.python.org/ftp/python
# :: [Info] :: Mirror: https://downloads.python.org/pypy/versions.json
# :: [Info] :: Mirror: https://api.github.com/repos/oracle/graalpython/releases
# :: [Downloading] :: 3.10.11 ...
# :: [Downloading] :: From https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe
# :: [Downloading] :: To C:\Users\phili\.pyenv\pyenv-win\install_cache\python-3.10.11-amd64.exe
# :: [Installing] :: 3.10.11 ...
- Exécutez **pyenv global** pour définir une version Python comme version globale. pyenv install 3.12.7
pyenv global 3.12.7
- Vérifiez quelle version de Python vous utilisez et son chemin pyenv version
# Résultat -> 3.12.7 (set by C:\Users\phili\.pyenv\pyenv-win\version)
- Vérifiez que Python fonctionne python -c "import sys; print(sys.executable)"
# Résultat -> C:\Users\phili\.pyenv\pyenv-win\versions\3.12.7\python.exe
\\
=== 3. Liste des commandes ===
Sous Windows, les commandes sont utilisées dans powershell et préfixée par **pyenv**.
//Exemple//
pyenv commands # pour lister les commandes
* **commands** : liste toutes les commandes pyenv disponibles \\
* duplicate \\
* **exec** : Exécute un exécutable en préparant d'abord PATH afin que le répertoire `bin' de la version Python sélectionnée soit au début \\
* export \\
* **global** : définit ou affiche la version globale de Python \\
* **help** : affiche l'aide pour une commande
* **install** : installe une ou plusieurs versions de Python \\
* **local** : définit ou affiche la version locale de Python spécifique à l'application \\
* **rehash** : réorganise les cales pyenv (exécuter cette opération après avoir changé de version Python) \\
* **shell** : définit ou affiche la version de Python spécifique au shell \\
* **shims** : \\
* **uninstall** : désinstalle une ou plusieurs versions de Python \\
* **update** : met à jour la base de données de versions en cache \\
* **version-name** : affiche la version Python actuelle \\
* **version** : affiche la version Python actuelle et son origine \\
* **versions** : Liste toutes les versions Python disponibles pour pyenv \\
* **vname** : affiche la version Python actuelle \\
* **whence** : liste toutes les versions Python qui contiennent l'exécutable donné \\
* **which** : affiche le chemin complet vers un exécutable \\