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édenteDernière révisionLes deux révisions suivantes | ||
virtualenv [2021/02/26 16:37] – serge | virtualenv [2022/05/05 10:19] – [Version de python] serge | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
</ | </ | ||
- | <WRAP center round box 60% centeralign> | + | =====Pense bêtes===== |
- | Voir aussi: **[[lancer_correctement_python|Lancer correctement python]]** | + | <code bash> |
- | </ | + | # Installation initiale |
+ | sudo apt install python3-pip | ||
+ | python3 -m pip install --upgrade pip | ||
- | =====On recommence tout===== | + | # Dans le dossier du projet |
+ | python3 -m venv mon_env | ||
+ | source mon_env/ | ||
+ | python3 -m pip install -r requirements.txt | ||
+ | python3 -m pip install Pillow==7.1.1 | ||
+ | pip freeze > all_requirements.txt | ||
+ | </ | ||
- | Un tuto avec du python2.7 en 2020, cela ne ferait pas sérieux! | + | =====Version de python===== |
- | + | Si vous avez plusieurs versions | |
- | https:// | + | python3 |
- | + | ||
- | + | ||
- | + | ||
- | ====== Lancer correctement python ====== | + | |
- | + | ||
- | <WRAP center round box 60% centeralign> | + | |
- | **[[toutes_les_pages_sur_python|Toutes les pages sur Python]] sans les pages sur {{tagpage> | + | |
- | **[[http:// | + | |
- | </ | + | |
- | + | ||
- | <WRAP center round info centeralign 60%> | + | |
- | **Niveau Pro** | + | |
- | </ | + | |
- | + | ||
- | <WRAP center round box 60% centeralign> | + | |
- | Voir aussi: **[[virtualenv|Virtualenv]]** | + | |
- | </ | + | |
- | + | ||
- | **[[http:// | + | |
- | + | ||
- | L' | + | |
- | + | ||
- | ===== Le bon sens ===== | + | |
- | Descartes: Discours | + | |
- | + | ||
- | "Le bon sens est la chose la mieux partagée car chacun pense en être si bien pourvu, que même ceux qui sont les plus difficiles à contenter en toute autre chose, n'ont point coutume d'en désirer plus qu'ils en ont." | + | |
- | + | ||
- | Petit extrait de [[http:// | + | |
- | + | ||
- | Descartes observe que généralement nous ne mettons pas en question nos propres opinions lorsque nous affirmons quelque chose dans une conversation. Nous considérons tous que nous " | + | |
- | ===== Ressources ===== | + | |
- | + | ||
- | * **[[https:// | + | |
- | =====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: | + | par |
- | + | python3.x | |
- | python3.7 -m mon_fichier.py | + | |
- | + | ||
- | ====Mettre à jour pip==== | + | |
| | ||
- | python3.7 -m pip install --upgrade pip | + | ou x = 6 ou 7 ou 8 ou 9 ou 10 ou 11 ... |
| | ||
- | 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 | + | =====Ressources===== |
+ | * **[[https:// | ||
+ | * **[[https:// | ||
- | # Pour pip, pip3 and pip3.7 | + | ===== Installation d'un package sans environnement virtuel |
- | export PYTHONPATH=" | + | |
- | + | ||
- | =====VirtualEnv===== | + | |
- | **[[virtualenv|Python: | + | <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> | ||
- | =====Virtualenv===== | + | ====Liste des package installés localement==== |
- | Extrait de [[https:// | + | Donc sans les packages du système et les packages installés dans le système. |
+ | python3 -m pip list --user | ||
+ | ===== Environnement Virtuel ===== | ||
- | **virtualenv** est un outil pour créer un environnement Python isolé. | + | ==== Installation de venv ==== |
+ | <code bash> | ||
+ | # Mise à jour de pip | ||
+ | python3 -m pip install --upgrade pip | ||
+ | # Installation de venv | ||
+ | sudo apt install python3-venv | ||
+ | </ | ||
+ | =====Ressources===== | ||
+ | | ||
- | Le problème | + | ==== Initialisation ==== |
+ | <code bash> | ||
+ | cd / | ||
+ | # Création du dossier environnement si pas encore créé | ||
+ | python3 -m venv mon_env | ||
+ | # Activation | ||
+ | source mon_env/ | ||
+ | # le prompt devient (mon_env) machin@127:/ | ||
+ | # Installation des package | ||
+ | python3 -m pip install -r requirements.txt | ||
+ | # Installation d'un package supplémentaire | ||
+ | python3 -m pip install Pillow==7.1.1 | ||
+ | # Création ou re-création des requirements | ||
+ | pip freeze > requirements.txt | ||
+ | </ | ||
- | Ou plus généralement, | + | ====Arguments spécifiques==== |
- | De plus, que faire si vous ne pouvez pas installer | + | ===Installation avec les sources |
+ | <code bash> | ||
- | Dans tous ces cas, **virtualenv** peut vous aider. Il crée un environnement qui possède ses propres répertoires d’installation, | + | ===Avec |
+ | * https:// | ||
- | ====Ressources==== | + | Permet à python du venv d' |
- | * **[[https:// | + | <code bash> |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | =====Comment créer un virtualenv ?===== | + | |
- | Voici la marche à suivre pour créer le « virtualenv ». | + | |
- | + | ||
- | ====Installation==== | + | |
- | sudo apt-get install | + | |
- | + | ||
- | ====Utilisation==== | + | |
- | + | ||
- | python3 | + | |
- | crée un dossier / | + | |
- | ===1ère solution=== | + | |
- | + | ||
- | source ~/ | + | |
- | + | ||
- | équivalent à | + | |
- | + | ||
- | source / | + | |
| | ||
- | Le prompt devient: | + | --no-site-packages est la valeur par défaut |
- | (VEnv) user@PC01:~$ | + | ===Depuis un Git=== |
+ | <code bash> | ||
- | Installation des modules appelés par votre projet: | + | ====Exécution |
- | pip3 install twisted librosa bs4 | + | <code bash> |
- | Puisque l' | + | cd /le/ |
- | + | ./mon_env/ | |
- | ===2ème solution=== | + | # Dans Geany, commande de construction |
- | Utiliser l’interpréteur installé dans le « virtualenv » : | + | ../ |
- | * ~/VEnv/ | + | </ |
- | ===Ensuite=== | + | ==== Relance pour installer de nouveaux package ==== |
- | cd /vers/ | + | <code bash> |
- | | + | cd /le/ |
- | + | source mon_env/ | |
- | Le script main.py continuera a tourner | + | python3 |
+ | # Mise à jour des requirements | ||
+ | pip freeze > requirements.txt | ||
+ | </ | ||
+ | ==== Génération du fichier requirements.txt ==== | ||
+ | Pour faciliter la distribution de votre projet | ||
+ | C'est la liste de tous les paquets que vous avez installé pour votre projet. | ||
+ | <code bash>pip freeze > requirements.txt</ | ||
- | ===== 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 === | ||
- | <file txt requirements.txt> | ||
- | twisted | ||
- | service_identity | ||
- | google-auth-oauthlib | ||
- | </ | ||
- | |||
- | Dans un terminal, dans le dossier de requirements.txt, | ||
- | pip3 install -r requirements.txt | ||
- | | ||
- | ===Exemple=== | ||
- | Ouvrir un terminal dans le dossier de votre projet: | ||
- | python3 -m venv ~/VEnv | ||
- | source ~/ | ||
- | python3 -m pip install -r requirements.txt | ||
- | python3 mon_script.py | ||
| | ||
+ | =====Création d'un venv avec une autre version de python===== | ||
+ | Installation de python 3.8 sur Xubuntu 18.04 | ||
+ | * https:// | ||
+ | <code bash> | ||
+ | sudo apt update | ||
+ | sudo apt install software-properties-common | ||
+ | sudo add-apt-repository ppa: | ||
+ | sudo apt install python3.8 | ||
+ | </ | ||
+ | Création d'un venv | ||
+ | <code bash> | ||
+ | cd / | ||
+ | python3.8 -m venv mon_env | ||
+ | sudo apt install python3.8-venv python3.8-dev | ||
+ | python3.8 -m venv mon_env | ||
+ | source mon_env/ | ||
+ | python3.8 -m pip install -r requirements.txt | ||
+ | </ | ||
- | | + | =====Travailler avec Geany et un Virtual Env===== |
+ | * **[[https:// | ||
+ | Dans " | ||
+ | ../ | ||
+ | {{: | ||
+ | {{: | ||
+ | {{tag> |
virtualenv.txt · Dernière modification : 2022/05/06 15:49 de serge