> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/rev/python/changer-de-version-python.md).

# Changer de version Python

Switch facilement et sans tout casser

Sur Linux il vaut mieux éviter de désinstaller la version de Python du système.

{% hint style="danger" %}
Dédicace à la fois ou j'ai perdu toute l'interface graphique en modifiant la version de Python sur Ubuntu :')
{% endhint %}

A la place, [pyenv](https://github.com/pyenv/pyenv) permet de télécharger des versions et changer localement sans tout casser. Et en plus c'est très simple à utiliser.

## **Installation**

Suivre les instructions de la section [Installation](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation).

## **Installer une version de Python**

```
pyenv install <version>
```

{% hint style="success" %}

* Télécharger et installer Python 3.10.4

```
pyenv install 3.10.4
```

* Lister les versions installables

```
pyenv install -l
```

* Lister les versions installées

```
pyenv versions
```

{% endhint %}

## **Changer de version**

```
pyenv shell <version>        # changer pour le shell
pyenv local <version>        # changer pour le dossier courant (et les sous-dossiers)
pyenv global <version>       # changer pour l'utilisateur courant
```

{% hint style="success" %}
Choisir Python 3.10.4 pour la session courante:

```
pyenv shell 3.10.4
```

{% endhint %}

{% embed url="<https://github.com/pyenv/pyenv>" %}
