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
On recommence tout
Un tuto avec du python2.7 en 2020, cela ne ferait pas sérieux!
- 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 tutorial-env
Activation de l'environnement:
source tutorial-env/bin/activate
le prompt devient
(tutorial-env) serge@127:/../../../projets/toto/
pour voir où vous êtes
ls
Lancer correctement python
Ressources
- Le tutoriel Python de la fondation Python fr.
Ce qu'il faut retenir par cœur
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"
Ressources
Comment créer un virtualenv ?
Voici la marche à suivre pour créer le « virtualenv ».
Installation
sudo apt-get install python3-venv
Utilisation
python3 -m venv ~/VEnv
crée un dossier /home/user/VEnv
1ère solution
source ~/VEnv/bin/activate
équivalent à
source /home/user/VEnv/bin/activate
Le prompt devient:
(VEnv) user@PC01:~$
Installation des modules appelés par votre projet:
pip3 install twisted librosa bs4
Puisque l'installation se fait dans le home, pas besoin d'être root, pas de sudo.
2ème solution
Utiliser l’interpréteur installé dans le « virtualenv » :
- ~/VEnv/bin/python3` (qui peut être utilisé comme shebang aussi bien sur)
Ensuite
cd /vers/votre/projet nohup python3 main.py &
Le script main.py continuera a tourner dans l'environnement virtuel, même si la console est fermée.
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.
Génération du fichier requirements.txt
Pour générer le fichier requirements.txt :
pip freeze > requirements.txt
Installation des modules indiqués dans requirements.txt
- requirements.txt
twisted service_identity google-auth-oauthlib
Dans un terminal, dans le dossier de requirements.txt, installation dans le système:
pip3 install -r requirements.txt
Exemple
Ouvrir un terminal dans le dossier de votre projet:
python3 -m venv ~/VEnv source ~/VEnv/bin/activate python3 -m pip install -r requirements.txt python3 mon_script.py