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 17:38] – [Travailler avec Geany et un Virtual Env] serge | virtualenv [2022/05/05 10:19] – [Version de python] serge | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
</ | </ | ||
- | * **[[https:// | + | =====Pense bêtes===== |
- | =====Environnements virtuels en python===== | + | <code bash> |
- | Un tuto avec du python2.7 en 2020, cela ne ferait pas sérieux! | + | # Installation initiale |
+ | sudo apt install python3-pip | ||
+ | python3 -m pip install --upgrade pip | ||
+ | # 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 | ||
+ | </ | ||
+ | |||
+ | =====Version de python===== | ||
+ | Si vous avez plusieurs versions de python, vous devez remplacer | ||
+ | python3 | ||
+ | | ||
+ | par | ||
+ | python3.x | ||
+ | | ||
+ | ou x = 6 ou 7 ou 8 ou 9 ou 10 ou 11 ... | ||
+ | | ||
+ | | ||
+ | =====Ressources===== | ||
+ | * **[[https:// | ||
* **[[https:// | * **[[https:// | ||
- | ====Création | + | ===== Installation |
- | https:// | + | |
- | Création d'un dossier tutorial-env dans le dossier de votre projet toto: / | + | <code bash> |
- | / | + | python3 |
+ | python3 -m mon_fichier.py | ||
+ | </ | ||
- | Activation de l' | + | Notez le –user, ainsi que les -m.\\ |
- | source tutorial-env/ | + | Ceci va installer psutil dans ~.local, pas au niveau du système. L' |
- | le prompt devient | + | |
- | (tutorial-env) serge@127:/../../../ | + | |
- | pour voir où vous êtes et tester | + | |
- | ls | + | |
- | python3 | + | |
- | import sys | + | |
- | Ctrl + D pour quitter | + | |
- | ===Installation d'un paquet dans cet environnement=== | + | Si besoin, ajouter à ~.bashrc |
- | | + | <code bash> |
- | Successfully installed Pillow-7.1.1, | + | |
- | pip show Pillow | + | |
- | pip list liste tous les paquets installés dans l' | + | |
- | pip list | + | |
- | < | + | ====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 |
- | Pillow | + | ===== Environnement Virtuel ===== |
- | pip | + | |
- | pkg-resources 0.0.0 | + | ==== Installation de venv ==== |
- | setuptools | + | < |
+ | # Mise à jour de pip | ||
+ | python3 | ||
+ | # Installation de venv | ||
+ | sudo apt install python3-venv | ||
</ | </ | ||
+ | =====Ressources===== | ||
+ | * **https:// | ||
- | ===Installation de tous les paquets requis=== | + | ==== Initialisation ==== |
- | python3 -m pip install -r requirements.txt | + | <code bash> |
- | ==== Génération du fichier requirements.txt ==== | + | cd / |
- | Pour faciliter la distribution de votre projet dans son virtualenv, il est recommandé de produire un fichier | + | # Création du dossier environnement si pas encore créé |
- | C'est la liste de tous les paquets que vous avez installé pour votre projet. | + | python3 -m venv mon_env |
- | pip freeze > requirements.txt | + | # Activation |
- | + | source mon_env/ | |
- | ====Lancement d'un script==== | + | # le prompt devient (mon_env) machin@127:/ |
- | python3 mon_script.py | + | # Installation des package |
- | =====Lancer correctement python===== | + | python3 -m pip install -r requirements.txt |
- | * **[[https:// | + | # 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 | ||
+ | </code> | ||
- | =====Travailler avec Geany et un Virtual Env===== | + | ====Arguments spécifiques==== |
- | * **[[https:// | + | |
- | {{: | + | ===Installation |
- | {{: | + | <code bash> |
- | =====Installation | + | |
- | ====Installer un package==== | + | ===Avec accès aux package |
- | Le package est installé dans le home du user: | + | * https:// |
- | | + | Permet à python du venv d' |
+ | <code bash>python3 -m pip install -r --system-site-packages requirements.txt</ | ||
| | ||
- | Pour lancer un script: | + | --no-site-packages est la valeur par défaut |
- | | + | ===Depuis un Git=== |
+ | <code bash>python3 -m pip install -e git+https:// | ||
- | ====Mettre à jour pip==== | + | ====Exécution d'un script de votre projet==== |
- | + | <code bash> | |
- | python3.7 -m pip install | + | cd / |
- | + | ./ | |
- | Si vous avez cette alerte: | + | # Dans Geany, commande de construction |
- | WARNING: The scripts | + | ../ |
- | | + | </ |
- | + | ||
- | Ajouter au fichier ~/.bashrc | + | ==== Relance pour installer de nouveaux package ==== |
+ | <code bash> | ||
+ | cd / | ||
+ | source mon_env/ | ||
+ | python3 | ||
+ | # Mise à jour des requirements | ||
+ | pip freeze > requirements.txt | ||
+ | </code> | ||
+ | ==== 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 dépendances de votre projet.\\ | ||
+ | C'est la liste de tous les paquets que vous avez installé pour votre projet. | ||
+ | <code bash>pip freeze > requirements.txt</ | ||
- | # Pour pip, pip3 and pip3.7 | ||
- | export PYTHONPATH=" | ||
| | ||
+ | =====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> | {{tag> |
virtualenv.txt · Dernière modification : 2022/05/06 15:49 de serge