virtualenv
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
virtualenv [2021/05/29 12:56] – [Initialisation] serge | virtualenv [2022/05/06 15:49] (Version actuelle) – [Pense bêtes] serge | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
</ | </ | ||
- | * **[[https:// | + | =====Pense bêtes===== |
+ | <code bash> | ||
+ | # Installation initiale | ||
+ | sudo apt install python3-pip python3-venv | ||
+ | python3 -m pip install --upgrade pip | ||
- | =====Installation d'un package sans environnement virtuel ===== | + | # Dans le dossier du projet |
- | <code python> | + | python3 -m venv mon_env |
- | python3.7 -m pip install | + | source mon_env/ |
- | python3.7 -m mon_fichier.py | + | python3 -m pip install -r requirements.txt |
+ | python3 -m pip install Pillow==7.1.1 | ||
+ | pip freeze > all_requirements.txt | ||
</ | </ | ||
- | Notez le –user, ainsi que les deux usages de -m.\\ | + | =====Version |
- | 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 | + | Si vous avez plusieurs versions |
- | ===== Installation | + | python3 |
- | # Mise à jour de pip | + | |
- | python3.7 -m pip install --upgrade pip | + | |
- | | + | |
| | ||
+ | par | ||
+ | python3.x | ||
| | ||
- | ===== Initialisation | + | ou x = 6 ou 7 ou 8 ou 9 ou 10 ou 11 ... |
+ | |||
+ | |||
+ | =====Ressources===== | ||
+ | * **[[https:// | ||
+ | * **[[https:// | ||
+ | |||
+ | ===== Installation d'un package sans environnement virtuel ===== | ||
+ | |||
+ | <code bash> | ||
+ | python3 -m pip install psutil --user | ||
+ | python3 -m mon_fichier.py | ||
+ | </ | ||
+ | |||
+ | Notez le –user, ainsi que les -m.\\ | ||
+ | Ceci va installer psutil dans ~.local, pas au niveau du système. L' | ||
+ | |||
+ | Si besoin, ajouter à ~.bashrc | ||
+ | <code bash> | ||
+ | |||
+ | ====Liste des package installés localement==== | ||
+ | Donc sans les packages du système et les packages installés dans le système. | ||
+ | python3 -m pip list --user | ||
+ | ===== Environnement Virtuel ===== | ||
+ | |||
+ | ==== Installation de venv ==== | ||
+ | <code bash> | ||
+ | # Mise à jour de pip | ||
+ | python3 -m pip install --upgrade pip | ||
+ | # Installation de venv | ||
+ | sudo apt install python3-venv | ||
+ | </ | ||
+ | =====Ressources===== | ||
+ | * **https:// | ||
+ | |||
+ | ==== Initialisation | ||
<code bash> | <code bash> | ||
cd / | cd / | ||
- | | ||
# Création du dossier environnement si pas encore créé | # Création du dossier environnement si pas encore créé | ||
python3 -m venv mon_env | python3 -m venv mon_env | ||
- | |||
# Activation | # Activation | ||
source mon_env/ | source mon_env/ | ||
# le prompt devient (mon_env) machin@127:/ | # le prompt devient (mon_env) machin@127:/ | ||
- | |||
# Installation des package | # Installation des package | ||
- | python3 -m pip install wheel # bug debian ubuntu | ||
python3 -m pip install -r requirements.txt | python3 -m pip install -r requirements.txt | ||
- | |||
# Installation d'un package supplémentaire | # Installation d'un package supplémentaire | ||
python3 -m pip install Pillow==7.1.1 | python3 -m pip install Pillow==7.1.1 | ||
- | + | # Création ou re-création | |
- | # Création ou re-création | + | |
pip freeze > requirements.txt | pip freeze > requirements.txt | ||
- | |||
- | # Dans Geany, commande de construction | ||
- | mon_env/ | ||
</ | </ | ||
- | ===== Relance pour installer de nouveaux package ===== | ||
- | cd / | ||
- | source mon_env/ | ||
- | python3 -m pip install some_package | ||
- | # Mise à jour des requirements | ||
- | pip freeze > requirements.txt | ||
- | =====Environnements virtuels en python===== | + | ====Arguments spécifiques==== |
- | * **[[https:// | + | |
- | ====Création d' | + | ===Installation avec les sources dans un dossier=== |
- | https://docs.python.org/fr/3/tutorial/venv.html# | + | <code bash> |
- | Création d'un dossier tutorial-env dans le dossier de votre projet toto: / | + | ===Avec accès aux package système=== |
- | /../../../projets/toto/$ python3 -m venv mon_env | + | |
- | Activation de l'environnement: | + | Permet à python du venv d'accéder au package système: --system-site-packages |
- | | + | <code bash> |
- | le prompt devient (tutorial-env) mon_env@127:/ | + | |
- | pour voir où vous êtes et tester | + | --no-site-packages est la valeur par défaut |
- | | + | |
- | | + | |
- | import sys | + | |
- | Ctrl + D pour quitter | + | |
- | ===Installation d'un paquet dans cet environnement=== | + | ===Depuis |
- | python3 -m pip install | + | <code bash>python3 -m pip install -e git+https:// |
- | Successfully installed Pillow-7.1.1, pour voir les infos | + | |
- | pip show Pillow | + | |
- | pip list liste tous les paquets installés dans l' | + | |
- | pip list | + | |
- | < | + | ====Exécution d'un script de votre projet==== |
- | | + | < |
- | ------------- ------- | + | cd / |
- | Pillow | + | ./ |
- | pip 18.1 | + | # Dans Geany, commande de construction |
- | pkg-resources 0.0.0 | + | ../ |
- | setuptools | + | |
</ | </ | ||
- | ===Installation | + | ==== Relance pour installer |
- | python3 -m pip install | + | <code bash> |
+ | cd / | ||
+ | source mon_env/ | ||
+ | python3 -m pip install | ||
+ | # Mise à jour des requirements | ||
+ | pip freeze > requirements.txt | ||
+ | </ | ||
==== Génération du fichier 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 | + | Pour faciliter la distribution de votre projet dans son virtualenv, il est recommandé de produire un fichier requirements.txt qui listera toutes les dépendances |
C'est la liste de tous les paquets que vous avez installé pour votre projet. | C'est la liste de tous les paquets que vous avez installé pour votre projet. | ||
- | | + | <code bash>pip freeze > requirements.txt</ |
- | + | ||
| | ||
- | =====Création d'un venv avec une autre version de pythotn===== | + | =====Création d'un venv avec une autre version de python===== |
Installation de python 3.8 sur Xubuntu 18.04 | Installation de python 3.8 sur Xubuntu 18.04 | ||
* https:// | * https:// | ||
- | + | <code bash> | |
- | sudo apt update | + | sudo apt update |
- | sudo apt install software-properties-common | + | sudo apt install software-properties-common |
- | sudo add-apt-repository ppa: | + | sudo add-apt-repository ppa: |
- | sudo apt install python3.8 | + | sudo apt install python3.8 |
+ | </ | ||
Création d'un venv | Création d'un venv | ||
<code bash> | <code bash> | ||
Ligne 114: | Ligne 134: | ||
python3.8 -m pip install -r requirements.txt | python3.8 -m pip install -r requirements.txt | ||
</ | </ | ||
- | =====Lancer correctement python===== | ||
- | * **[[https:// | ||
- | 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===== | =====Travailler avec Geany et un Virtual Env===== | ||
* **[[https:// | * **[[https:// | ||
Dans " | Dans " | ||
- | mon_env/ | + | |
{{: | {{: | ||
{{: | {{: | ||
- | =====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 '/ | ||
- | 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=" | ||
- | | ||
{{tag> | {{tag> |
virtualenv.1622293007.txt.gz · Dernière modification : 2021/05/29 12:56 de serge