[HOW-TO] Les environnements virtuels sous Linux
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
Code:
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. |
Ici, nous avons donc la version 3.6.7
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
Code:
1 2
|
sudo apt-get install libssl-dev openssl |
Note: Sur les os basés sur les paquets rpm (Fedora, OpenSUSE) ce sera libssl-devel
Pour le module Python il faut choisir celui de la version système. 3.6 dans cet exemple.
Debian ...
Code:
1 2
|
sudo apt-get build-dep python3.6 |
Fedora, Red Hat Enterprise Linux et autres yum based systems:
Code:
1 2 3
|
sudo yum install yum-utils
sudo yum-builddep python3 |
Fedora et autres DNF based systems:
Code:
1 2 3
|
sudo dnf install dnf-plugins-core
sudo dnf builddep python3 |
Maintenant, rendons-nous ici https://www.python.org/downloads/source/ pour choisir notre nouvelle version de Python.
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:
Code:
1 2
|
tar zxvf Python-3.7.2.tgz |
Ensuite il faut configurer, compiler et installer cette version
Code:
1 2 3 4 5
|
cd Python-3.7.2
./configure --prefix=$HOME/.localpythons --with-pydebug
make
make install |
Et enfin, créons cet environnement virtuel.
Dans cet exemple on va le nommer py372_venv
Code:
1 2
|
~/.localpythons/bin/python3.7 -m venv ~/py372_venv |
Maintenant nous pouvons tester notre install en activant l'environnement
Code:
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. |
Pensez donc toujours à activer l'environnement pour pouvoir utiliser cette version de Python. Et pour installer des modules tiers aussi.
Exemple:
Code:
1 2 3
|
source bin/activate
pip install pillow |
et pillow sera installé pour python-3.7.2
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 ?