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 [2018/09/01 07:58] – [Utilisation] serge | virtualenv [2022/05/05 10:19] – [Version de python] 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===== | + | =====Pense bêtes===== |
+ | <code bash> | ||
+ | # Installation initiale | ||
+ | sudo apt install python3-pip | ||
+ | python3 -m pip install --upgrade pip | ||
- | virtualenv est un outil pour créer un environnement Python isolé. | + | # 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 | ||
+ | </ | ||
- | The basic problem being addressed is one of dependencies and versions, | + | =====Version de python===== |
+ | Si vous avez plusieurs | ||
+ | python3 | ||
+ | |||
+ | par | ||
+ | python3.x | ||
+ | |||
+ | ou x = 6 ou 7 ou 8 ou 9 ou 10 ou 11 ... | ||
+ | |||
+ | |||
+ | =====Ressources===== | ||
+ | * **[[https://docs.python.org/fr/ | ||
+ | * **[[https:// | ||
- | 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. | + | ===== Installation d'un package sans environnement virtuel ===== |
- | Also, what if you can’t | + | <code bash> |
+ | python3 -m pip install | ||
+ | python3 | ||
+ | </ | ||
- | In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either). | + | 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> | ||
- | =====Comment créer un virtualenv ?===== | + | ====Liste des package installés localement==== |
- | Voici la marche à suivre pour créer | + | Donc sans les packages du système et les packages installés dans le système. |
- | ====Installation==== | + | python3 -m pip list --user |
- | Installe python3-venv python3.5-venv | + | ===== Environnement Virtuel ===== |
- | sudo apt-get install python3-venv | + | |
- | Crée un dossier /home/user/VEnv donc | + | ==== Installation de venv ==== |
- | ====Utilisation==== | + | <code bash> |
+ | # Mise à jour de pip | ||
+ | python3 -m pip install --upgrade pip | ||
+ | # Installation de venv | ||
+ | sudo apt install python3-venv | ||
+ | </code> | ||
+ | =====Ressources===== | ||
+ | * **https:// | ||
- | python3 -m venv ~/VEnv | + | ==== Initialisation ==== |
- | + | <code bash> | |
- | ===1ère solution=== | + | cd /le/ |
- | | + | # Création du dossier environnement si pas encore créé |
- | + | python3 -m venv mon_env | |
- | Le prompt devient: | + | # Activation |
+ | source mon_env/ | ||
+ | # le prompt devient | ||
+ | # 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 | ||
+ | </ | ||
- | (VEnv) pierre@PC01: | + | ====Arguments spécifiques==== |
- | Installation | + | ===Installation |
+ | <code bash> | ||
- | pip3 install twisted librosa bs4 | + | ===Avec accès aux package système=== |
+ | * https:// | ||
- | ===2ème solution=== | + | Permet à python du venv d' |
- | Utiliser l’interpréteur installé dans le « virtualenv » : | + | <code bash> |
+ | |||
+ | --no-site-packages est la valeur par défaut | ||
- | * ~/VEnv/bin/python` (qui peut être utilisé comme shebang aussi bien sur) | + | ===Depuis un Git=== |
+ | <code bash> | ||
+ | ====Exécution d'un script de votre projet==== | ||
+ | <code bash> | ||
+ | cd / | ||
+ | ./ | ||
+ | # Dans Geany, commande de construction | ||
+ | ../ | ||
+ | </ | ||
+ | ==== Relance pour installer de nouveaux package ==== | ||
+ | <code bash> | ||
+ | cd / | ||
+ | source mon_env/ | ||
+ | python3 -m pip install some_package | ||
+ | # 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</ | ||
- | =====Ressources==== | + | |
- | * [[https://deusyss.developpez.com/tutoriels/Python/packaging_pypi/|Packaging Python et PyPI de GALODE Alexandre sur developpez.com]] | + | =====Création d'un venv avec une autre version de python===== |
+ | Installation de python 3.8 sur Xubuntu 18.04 | ||
+ | * https://askubuntu.com/questions/1197683/how-do-i-install-python-3-8-in-lubuntu-18-04 | ||
+ | <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===== | |
- | =====Requirement===== | + | |
- | ===Ressources=== | + | Dans " |
- | * [[https://deusyss.developpez.com/tutoriels/Python/packaging_pypi/# | + | ../mon_env/bin/python3 " |
- | | + | {{: |
- | ===Exemple=== | + | {{: |
- | <file txt requirements.txt> | + | {{tag>python sb}} |
- | 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