Outils pour utilisateurs

Outils du site


virtualenv

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
virtualenv [2018/08/26 08:20] – [Ressources] sergevirtualenv [2022/05/06 15:49] (Version actuelle) – [Pense bêtes] serge
Ligne 1: Ligne 1:
 ====== Python: Virtualenv ====== ====== Python: Virtualenv ======
  
-<WRAP center round info 60%> +<WRAP center round box 60% centeralign
-Niveau Pro+**[[toutes_les_pages_sur_python|Toutes les pages sur Python]] sans les pages sur {{tagpage>kivy|Kivy}}**\\ 
 +**[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fvirtualenv|English Version]]**
 </WRAP> </WRAP>
-{{tag>python sb}} 
  
-=====Ressources==== +=====Pense bêtes===== 
-  * [[https://deusyss.developpez.com/tutoriels/Python/packaging_pypi/|Packaging Python et PyPI de GALODE Alexandre sur developpez.com]] +<code bash> 
-  * [[https://deusyss.developpez.com/tutoriels/Python/packaging_pypi/#LIII-D|Installer un groupe de paquets grâce à un fichier requirement]] +Installation initiale 
-  * [[https://deusyss.developpez.com/tutoriels/Python/packaging_pypi/#LIII-A|Le format requirement]]+sudo apt install python3-pip python3-venv 
 +python3 -m pip install --upgrade pip
  
-====Exemple==== +# Dans le dossier du projet 
-<file requirements.txt> +python3 -m venv mon_env 
-twisted +source mon_env/bin/activate 
-service_identity +python3 -m pip install -r requirements.txt 
-google-auth-oauthlib +python3 -m pip install Pillow==7.1.1 
-</file>+pip freeze > all_requirements.txt 
 +</code>
  
-Installation dans le système: +=====Version de python===== 
-  sudo pip3 install -r requirements.txt+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://docs.python.org/fr/3/tutorial/index.html|Le tutoriel Python]]** de la fondation Python fr. 
 +  * **[[https://docs.python.org/fr/3/tutorial/venv.html|Environnements virtuels et paquets]]** sur la Doc officielle docs.python.org 
 + 
 +===== Installation d'un package sans environnement virtuel ===== 
 + 
 +<code bash> 
 +python3 -m pip install psutil --user  
 +python3 -m mon_fichier.py 
 +</code> 
 + 
 +Notez le –user, ainsi que les -m.\\ 
 +Ceci va installer psutil dans ~.local, pas au niveau du système. L'option -m exécute pip en tant que module. Il y a un warning sur le python path, personnellement python m'a toujours trouvé les packages de .local, sur debian et ubuntu. 
 + 
 +Si besoin, ajouter à ~.bashrc 
 +<code bash>export PYTHONPATH="${PYTHONPATH}:~/.local"</code> 
 + 
 +====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 
 +</code> 
 +=====Ressources===== 
 +  * **https://packaging.python.org/** la doc officielle 
 + 
 +==== Initialisation ==== 
 +<code bash> 
 +cd /le/dossier/de/votre/projet/truc/ 
 +# Création du dossier environnement si pas encore créé 
 +python3 -m venv mon_env 
 +# Activation  
 +source mon_env/bin/activate 
 +# le prompt devient (mon_env) machin@127:/../../../projets/truc/ 
 +# 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 
 +</code> 
 + 
 +====Arguments spécifiques==== 
 + 
 +===Installation avec les sources dans un dossier=== 
 +<code bash>python3 -m pip install --no-index --find-links=/media/data/exclude/clones/mediapipe mediapipe</code> 
 + 
 +===Avec accès aux package système=== 
 +  * https://pip.pypa.io/en/stable/user_guide/ 
 + 
 +Permet à python du venv d'accéder au package système: --system-site-packages  
 +<code bash>python3 -m pip install -r --system-site-packages requirements.txt</code> 
 +   
 +--no-site-packages est la valeur par défaut 
 + 
 +===Depuis un Git=== 
 +<code bash>python3 -m pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject</code> 
 + 
 +====Exécution d'un script de votre projet==== 
 +<code bash> 
 +cd /le/dossier/de/votre/projet/truc/ 
 +./mon_env/bin/python3 ./sous_dossier/main.py 
 +# Dans Geany, commande de construction 
 +../mon_env/bin/python3 "%f" 
 +</code> 
 + 
 +==== Relance pour installer de nouveaux package ==== 
 +<code bash> 
 +cd /le/dossier/de/votre/projet/truc/ 
 +source mon_env/bin/activate 
 +python3 -m pip install some_package 
 +# 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</code>   
 + 
 +   
 +=====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:deadsnakes/ppa 
 +sudo apt install python3.8 
 +</code> 
 +Création d'un venv 
 +<code bash> 
 +cd /mes/projets/keras-jordan-bird/ 
 +python3.8 -m venv mon_env 
 +sudo apt install python3.8-venv python3.8-dev 
 +python3.8 -m venv mon_env 
 +source mon_env/bin/activate 
 +python3.8 -m pip install -r requirements.txt 
 +</code> 
 + 
 +=====Travailler avec Geany et un Virtual Env===== 
 +  * **[[https://stackoverflow.com/questions/42013705/using-geany-with-python-virtual-environment|Using geany with python virtual environment]]** 
 +Dans "Construire" / "Définir les commandes de construction": 
 +  ../mon_env/bin/python3 "%f" 
 +{{:media_14:geany_construire.png?200|}} 
 +{{:media_14:construire_execute.png?400|}} 
 +{{tag>python sb}}
virtualenv.1535271642.txt.gz · Dernière modification : 2018/08/26 08:20 de serge