Table des matières

Sommaire Python et microPython

Python - Gérer plusieurs versions de Python sous Windows avec pyenv-win

[Mise à jour le : 19/2/2025]



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.


POWERSHELL

Les commandes ci-dessous nécessitent powershell (en administrateur).

2a. Installer pyenv-win

  1. Vérifier que powershell autorise l'exécution des scripts.
    *.powershell
     Get-ExecutionPolicy
    # Si restricted faire
      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser  
  2. Installez pyenv-win
    *.powershell
    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"
  3. Rouvrir PowerShell

  4. Exécutez pyenv --version pour vérifier si l'installation a réussi.
    *.powershell
    pyenv --version 
    # Exemple de résultat : pyenv 3.1.1

2b. Désinstaller pyenv-win

*.powershell
Remove-Item -Recurse -Force $env:USERPROFILE\.pyenv

3. Installer plusieurs versions de Python

  1. Exécutez pyenv install -l pour obtenir la liste des versions de Python prises en charge par pyenv-win.
    *.powershell
    PS C:\Users\phili> pyenv install -l
    :: [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
    2.4-win32
    2.4.1-win32
    2.4.2-win32
    ...
  2. Exécutez pyenv install <version> pour installer la version prise en charge.
    *.powershell
    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 ...

4. Version globale, version locale

GLOBAL

Avec pyenv, la version globale de Python est celle qui sera utilisée par défaut pour tous les projets, sauf si une version locale ou spécifique est définie.
  1. Restreindre l'exécution des scripts.
    *.powershell
     Set-ExecutionPolicy Restricted 


5. Les bibliothèques

pip

Créer le répertoire du projet et l'ouvrir avec Powershell.
*.powershell
# Exemple : instalation de Flask dans le projet test2
# ---------------------------------------------------------
# 1. Créer un environnement virtuel dans \test2
PS C:\Users\phili\Desktop\test2> python -m venv .venv
 
# 2. Activer l'environnement  
PS C:\Users\phili\Desktop\test2> ./.venv/Scripts/activate   
# Résultat : (.venv) PS C:\Users\phili\Desktop\test2>
 
# 3a. Sélectionner la version de python a exécuter dans le répertoire
(.venv) PS C:\Users\phili\Desktop\test2> pyenv local 3.10.11
# 3b. Vérifier
(.venv) PS C:\Users\phili\Desktop\test2> pyenv version
# Résultat : 3.10.11 (set by C:\Users\phili\Desktop\test2\.python-version)
 
# 4. Installer Flask
(.venv) PS C:\Users\phili\Desktop\test2> pip install Flask
#Résultat : Flask existe dans C:\Users\phili\Desktop\test2\.venv\Lib\site-packages
Si l'environnement virtuel est dans C:\Users\NomUtilisateur\.pyenv\pyenv-win\versions\3.x.x, alors les bibliothèques installées avec pip seront dans :
  • C:\Users\NomUtilisateur\.pyenv\pyenv-win\versions\3.x.x\Lib\site-packages\

Exemple

4. Liste des commandes

Préfixe

Sous Windows, les commandes sont utilisées dans powershell et préfixée par pyenv.

Exemple

*.powershell
pyenv commands # pour lister les commandes


5. pyenv et VSCODE