Ceci est une ancienne révision du document !
Table des matières
Python: Virtualenv
Toutes les pages sur Python sans les pages sur Kivy
English Version
- Le tutoriel Python de la fondation Python fr.
Installation d'un package sans environnement virtuel
python3.7 -m pip install psutil --user python3.7 -m mon_fichier.py
Notez le –user, ainsi que les deux usages de -m.
Ceci va installer psutil localement, pas au niveau du système. On s’assure qu’on n’utilise bien Python3.6, à l’installation et à l’usage de psutil. Et comme on n’utilise -m, pas besoin de trifouiller son .bashrc
Installation de venv
# Mise à jour de pip python3.7 -m pip install --upgrade pip sudo apt install python3-venv
Initialisation
sudo apt install python3.8-venv
Relance pour installer de nouveaux package
cd /le/dossier/de/votre/projet/truc/ source mon_env/bin/activate python3 -m pip install some_package # Mise à jour des requirements pip freeze > requirements.txt
A revoir
# Installation de venv pour 3.8 sudo apt install python3.8-venv cd /le/dossier/de/votre/projet/truc/ # Création du dossier environnement si pas encore créé python3 -m venv mon_env # Activation source mon_env/bin/activate # le prompt devient (mon_env) machin@127:/../../../projets/truc/ # Installation des package python3 -m pip install wheel # bug debian ubuntu python3 -m pip install -r requirements.txt # Installation d'un package supplémentaire python3 -m pip install Pillow==7.1.1 # Création ou recréation de pip freeze > requirements.txt # Liste de tous les paquets dans le virtualenv pip list # Exécution d'un script # sans lancer source mon_env/bin/activate avant python3.7 -m mon_fichier.py # Dans Geany, commande de construction mon_env/bin/python3 "%f"
Environnements virtuels en python
- Environnements virtuels et paquets sur la Doc officielle docs.python.org
Création d'environnements virtuels
https://docs.python.org/fr/3/tutorial/venv.html#creating-virtual-environments
Création d'un dossier tutorial-env dans le dossier de votre projet toto: /../../../projets/toto/
/../../../projets/toto/$ python3 -m venv mon_env
Activation de l'environnement:
source mon_env/bin/activate
le prompt devient (tutorial-env) mon_env@127:/../../../projets/toto/
pour voir où vous êtes et tester
ls python3 import sys
Ctrl + D pour quitter
Installation d'un paquet dans cet environnement
python3 -m pip install Pillow==7.1.1
Successfully installed Pillow-7.1.1, pour voir les infos
pip show Pillow
pip list liste tous les paquets installés dans l'environnement virtuel:
pip list
Package Version ------------- ------- Pillow 7.1.1 pip 18.1 pkg-resources 0.0.0 setuptools 40.8.0
Installation de tous les paquets requis
python3 -m pip install -r requirements.txt
Génération du fichier requirements.txt
Pour faciliter la distribution de votre projet dans son virtualenv, il est recommandé de produire un fichier requirements.txt qui listera toutes les dependances de votre projet.
C'est la liste de tous les paquets que vous avez installé pour votre projet.
pip freeze > requirements.txt
Création d'un venv avec une autre version de pythotn
Installation de python 3.8 sur Xubuntu 18.04
sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt install python3.8
Création d'un venv
cd /mes/projets/keras-jordan-bird/ python3.8 -m venv mon_env sudo apt install python3.8-venv python3.8-dev python3.8 -m venv mon_env source mon_env/bin/activate python3.8 -m pip install -r requirements.txt
Lancer correctement python
Ne faites pas:
sudo pip install black black mon_fichier.py
Mais faites:
python3.7 -m pip install black --user python3.7 -m black mon_fichier.py
Notez le –user, ainsi que les deux usages de -m.
Ceci va installer black localement, pas au niveau du système. On s’assure qu’on n’utilise bien Python3.6, à l’installation et à l’usage de black. Et comme on n’utilise -m, on a pas à se demander si la commande black est bien sur le PATH (pas besoin de trifouiller son .bashrc)
Travailler avec Geany et un Virtual Env
Dans “Construire” / “Définir les commandes de construction”:
mon_env/bin/python3 "%f"
Installation d'un package avec pip
Installer un package
Le package est installé dans le home du user:
python3.7 -m pip install black --user
Pour lancer un script:
python3.7 -m mon_fichier.py
Mettre à jour pip
python3.7 -m pip install --upgrade pip
Si vous avez cette alerte:
WARNING: The scripts pip, pip3 and pip3.7 are installed in '/home/toto/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Ajouter au fichier ~/.bashrc
# Pour pip, pip3 and pip3.7 export PYTHONPATH="${PYTHONPATH}:/home/toto/.local/bin"