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édenteProchaine révisionLes deux révisions suivantes | ||
virtualenv [2018/09/01 08:12] – serge | virtualenv [2022/02/23 18:21] – [Installation d'un package sans environnement virtuel] serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Python: Virtualenv ====== | ====== Python: Virtualenv ====== | ||
- | <WRAP center round info centeralign 30%> | + | <WRAP center round box 60% centeralign> |
- | **Niveau Pro** | + | **[[toutes_les_pages_sur_python|Toutes les pages sur Python]] sans les pages sur {{tagpage> |
+ | **[[http:// | ||
</ | </ | ||
- | {{tag> | ||
- | =====Virtualenv===== | + | =====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:// | ||
- | virtualenv est un outil pour créer | + | ===== Installation d'un package sans environnement |
- | The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? | + | <code bash> |
+ | python3 -m pip install | ||
+ | python3 -m mon_fichier.py | ||
+ | </code> | ||
- | Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application. | + | Notez le –user, ainsi que les -m.\\ |
+ | Ceci va installer psutil dans ~.local, pas au niveau du système. L' | ||
- | Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host. | + | Si besoin, ajouter à ~.bashrc |
+ | <code bash> | ||
- | In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, | + | ====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:// | ||
- | =====Comment créer un virtualenv ?===== | + | ==== Initialisation |
- | Voici la marche à suivre pour créer | + | <code bash> |
- | ====Installation==== | + | cd /le/ |
- | Installe | + | # Création du dossier environnement si pas encore créé |
- | sudo apt-get install python3-venv | + | python3 -m venv mon_env |
+ | # Activation | ||
+ | source mon_env/ | ||
+ | # le prompt devient (mon_env) machin@127:/ | ||
+ | # Installation des package | ||
+ | python3 | ||
+ | # 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 | ||
+ | </ | ||
- | Crée un dossier / | + | ====Arguments spécifiques==== |
- | ====Utilisation==== | + | |
- | python3 -m venv ~/VEnv | + | ===Installation avec les sources dans un dossier=== |
- | + | <code bash> | |
- | ===1ère solution=== | + | |
- | source ~/VEnv/bin/activate | + | ===Avec accès aux package système=== |
+ | * https://pip.pypa.io/ | ||
- | équivalent | + | Permet |
- | + | <code bash> | |
- | 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 d'un script de votre projet==== |
+ | <code bash> | ||
+ | cd / | ||
+ | ./ | ||
+ | # Dans Geany, commande de construction | ||
+ | ../ | ||
+ | </ | ||
- | pip3 install | + | ==== Relance pour installer de nouveaux package ==== |
- | | + | <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 ==== | ||
+ | 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</ | ||
- | Puisque l' | + | |
+ | =====Création | ||
+ | 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 | ||
+ | </ | ||
- | ===2ème solution=== | + | =====Travailler avec Geany et un Virtual Env===== |
- | Utiliser l’interpréteur installé dans le « virtualenv » : | + | |
- | + | Dans " | |
- | * ~/ | + | ../mon_env/bin/python3 " |
- | + | {{:media_14: | |
- | Mais je suis noob en console python ! | + | {{: |
- | + | {{tag>python sb}} | |
- | + | ||
- | =====Ressources==== | + | |
- | * [[https://deusyss.developpez.com/tutoriels/Python/ | + | |
- | + | ||
- | + | ||
- | =====Requirement===== | + | |
- | <WRAP center round todo centeralign 60%> | + | |
- | **A sérieusement améliorer** | + | |
- | </WRAP> | + | |
- | + | ||
- | ===Ressources=== | + | |
- | | + | |
- | * [[https://deusyss.developpez.com/ | + | |
- | ===Exemple=== | + | |
- | <file txt requirements.txt> | + | |
- | twisted | + | |
- | service_identity | + | |
- | google-auth-oauthlib | + | |
- | </file> | + | |
- | + | ||
- | Dans un terminal, dans le dossier de requirements.txt, | + | |
- | sudo pip3 install -r requirements.txt | + |
virtualenv.txt · Dernière modification : 2022/05/06 15:49 de serge