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 [2021/02/26 17:23] – [Génération du fichier requirements.txt] sergevirtualenv [2022/05/06 15:49] (Version actuelle) – [Pense bêtes] serge
Ligne 6: Ligne 6:
 </WRAP> </WRAP>
  
-  * **[[https://docs.python.org/fr/3/tutorial/index.html|Le tutoriel Python]]** de la fondation Python fr. +=====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-venv 
 +python3 -m pip install --upgrade pip
  
 +# Dans le dossier du projet
 +python3 -m venv mon_env
 +source mon_env/bin/activate
 +python3 -m pip install -r requirements.txt
 +python3 -m pip install Pillow==7.1.1
 +pip freeze > all_requirements.txt
 +</code>
 +
 +=====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://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   * **[[https://docs.python.org/fr/3/tutorial/venv.html|Environnements virtuels et paquets]]** sur la Doc officielle docs.python.org
  
-====Création d'environnements virtuels==== +===== Installation d'un package sans environnement virtuel =====
-https://docs.python.org/fr/3/tutorial/venv.html#creating-virtual-environments+
  
-Création d'un dossier tutorial-env dans le dossier de votre projet toto: /../../../projets/toto/ +<code bash> 
-  /../../../projets/toto/python3 -m venv tutorial-env+python3 -m pip install psutil --user  
 +python3 -m mon_fichier.py 
 +</code>
  
-Activation de l'environnement: +Notez le –user, ainsi que les -m.\\ 
-  source tutorial-env/bin/activate +Ceci va installer psutil dans ~.local, pas au niveau du systèmeL'option -m exécute pip en tant que moduleIl y a un warning sur le python path, personnellement python m'a toujours trouvé les packages de .local, sur debian et ubuntu.
-le prompt devient +
-  (tutorial-env) serge@127:/../../../projets/toto/ +
-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 
-  python3 -m pip install Pillow==7.1.1 +<code bash>export PYTHONPATH="${PYTHONPATH}:~/.local"</code>
-Successfully installed Pillow-7.1.1, pour voir les infos +
-  pip show Pillow +
-pip list liste tous les paquets installés dans l'environnement virtuel: +
-  pip list+
  
-<code> +====Liste des package installés localement==== 
-  Package       Version +Donc sans les packages du système et les packages installés dans le système. 
-------------- ------- +  python3 -m pip list --user 
-Pillow        7.1.1   +===== Environnement Virtuel ===== 
-pip           18.1    + 
-pkg-resources 0.0.0   +==== Installation de venv ==== 
-setuptools    40.8.0+<code bash
 +# Mise à jour de pip 
 +python3 -m pip install --upgrade pip 
 +# Installation de venv 
 +sudo apt install python3-venv
 </code> </code>
 +=====Ressources=====
 +  * **https://packaging.python.org/** la doc officielle
  
-===Installation de tous les paquets requis=== +==== Initialisation ==== 
-  python3 -m pip install -r requirements.txt +<code bash> 
-==== Génération du fichier requirements.txt ==== +cd /le/dossier/de/votre/projet/truc/ 
-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.\\ +# 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/bin/activate 
-====Lancement d'un script==== +# le prompt devient (mon_env) machin@127:/../../../projets/truc/ 
-  python3 mon_script.py +# Installation des package 
-=====Lancer correctement python===== +python3 -m pip install -r requirements.txt 
-  * **[[https://sametmax.com/lancer-correctement-python-et-ses-commandes-cousines/|Lancer correctement python et ses commandes cousines]]**+# 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====
  
-  +===Installation avec les sources dans un dossier=== 
-=====Installation d'un package avec pip=====+<code bash>python3 -m pip install --no-index --find-links=/media/data/exclude/clones/mediapipe mediapipe</code>
  
-====Installer un package==== +===Avec accès aux package système=== 
-Le package est installé dans le home du user:+  * https://pip.pypa.io/en/stable/user_guide/
  
-  python3.7 -m pip install black --user +Permet à python du venv d'accéder au package système: --system-site-packages  
 +<code bash>python3 -m pip install ---system-site-packages requirements.txt</code>
      
-Pour lancer un script:+--no-site-packages est la valeur par défaut
  
-  python3.7 -m mon_fichier.py+===Depuis un Git=== 
 +<code bash>python3 -m pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject</code>
  
-====Mettre à jour pip==== +====Exécution d'un script de votre projet==== 
-   +<code bash> 
-  python3.-m pip install --upgrade pip +cd /le/dossier/de/votre/projet/truc/ 
-   +./mon_env/bin/python3 ./sous_dossier/main.py 
-Si vous avez cette alerte: +# Dans Geany, commande de construction 
-  WARNING: The scripts pip, pip3 and pip3.7 are installed in '/home/toto/.local/bin' which is not on PATH. +../mon_env/bin/python3 "%f" 
-  Consider adding this directory to PATH orif you prefer to suppress this warning, use --no-warn-script-location+</code> 
-   + 
-Ajouter au fichier ~/.bashrc+==== 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 virtualenvil 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>  
  
-  # Pour pip, pip3 and pip3.7 
-  export PYTHONPATH="${PYTHONPATH}:/home/toto/.local/bin" 
      
 +=====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}} {{tag>python sb}}
virtualenv.1614360234.txt.gz · Dernière modification : 2021/02/26 17:23 de serge