Pour pouvoir utiliser diverses versions de Python et de modules tiers sans interférer avec ses versions système il est recommandé d'utiliser des environnements virtuels.
Avantages:
* Simple à créer.
* Aucun risque pour le système, l'environnement est créé sans les droits d'administrateur.
* Permet de tester des modules tiers de différentes versions.
* Permet de tester du code en développement, car sans risque.
* Simple à désinstaller, il suffit de l'effacer.
Pour connaître sa version système il suffit d'entrer python3 dans un terminal
Ici, nous avons donc la version 3.6.7
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 vincent@djoliba:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information.
Installons une version plus récente.
Tout d'abord créons, dans notre home, un dossier unique où seront installés toutes nos versions de Python.
On le nomme comme on veut, dans cet exemple ce sera .localpythons. Il sera caché car on ne doit jamais le consulter.
Il faut maintenant se doter de quelques outils: le module de Python build-dep et les libs libssl-dev openssl.
Pour ces dernières utilisons les paquets officiels:
Exemple sur Debian, Ubuntu et dérivées
Note: Sur les os basés sur les paquets rpm (Fedora, OpenSUSE) ce sera libssl-devel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sudo apt-get install libssl-dev openssl
Pour le module Python il faut choisir celui de la version système. 3.6 dans cet exemple.
Debian ...
Fedora, Red Hat Enterprise Linux et autres yum based systems:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2sudo apt-get build-dep python3.6
Fedora et autres DNF based systems:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sudo yum install yum-utils sudo yum-builddep python3
Maintenant, rendons-nous ici https://www.python.org/downloads/source/ pour choisir notre nouvelle version de Python.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sudo dnf install dnf-plugins-core sudo dnf builddep python3
La dernière version à ce jour est la 3.7.2, cliquons sur le lien et en bas de la nouvelle page choisissons, pour Linux, le paquet Gzipped source tarball
Une fois ce paquet téléchargé il faut le décompresser.
Click droit sur le paquet et choisir Extraire ici
Ou dans un terminal:
Ensuite il faut configurer, compiler et installer cette version
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 tar zxvf Python-3.7.2.tgz
Et enfin, créons cet environnement virtuel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cd Python-3.7.2 ./configure --prefix=$HOME/.localpythons --with-pydebug make make install
Dans cet exemple on va le nommer py372_venv
Maintenant nous pouvons tester notre install en activant l'environnement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2~/.localpythons/bin/python3.7 -m venv ~/py372_venv
Pensez donc toujours à activer l'environnement pour pouvoir utiliser cette version de Python. Et pour installer des modules tiers aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 cd ../py372_venv source bin/activate python Python 3.7.2 (default, Mar 12 2019, 17:31:29) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.
Exemple:
et pillow sera installé pour python-3.7.2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 source bin/activate pip install pillow
Et plein d'infos ici: https://devguide.python.org/setup/
Rem: Je n'ai pas vu de lien dans la FAQ Python pour pousser ce type d'article, ça peut se faire automatiquement ?
Partager