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
Dernière révisionLes deux révisions suivantes
virtualenv [2021/05/29 12:54] – [A revoir] sergevirtualenv [2022/05/05 10:19] – [Version de python] 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===== 
 +<code bash> 
 +# Installation initiale 
 +sudo apt install python3-pip 
 +python3 -m pip install --upgrade pip
  
-=====Installation d'un package sans environnement virtuel ===== +# Dans le dossier du projet 
-<code python> +python3 -m venv mon_env 
-python3.7 -m pip install psutil --user  +source mon_env/bin/activate 
-python3.7 -m mon_fichier.py+python3 -m pip install -r requirements.txt 
 +python3 -m pip install Pillow==7.1.1 
 +pip freeze > all_requirements.txt
 </code> </code>
  
-Notez le –user, ainsi que les deux usages de -m.\\ +=====Version de python===== 
-Ceci va installer psutil localement, pas au niveau du système. On s’assure qu’on n’utilise bien Python3.6, à l’installation et à l’usage de psutil. Et comme on n’utilise -m, pas besoin de trifouiller son .bashrc +Si vous avez plusieurs versions de python, vous devez remplacer  
-===== Installation de venv ===== +  python3 
-  # Mise à jour de pip +
-  python3.7 -m pip install --upgrade pip +
-  sudo apt install python3-venv+
      
 +par
 +  python3.x
      
-===== Initialisation =====+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> <code bash>
-sudo apt install python3.8-venv+python3 -m pip install psutil --user  
 +python3 -m mon_fichier.py
 </code> </code>
-===== Relance pour installer de nouveaux package ===== 
-  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 
  
-=====Environnements virtuels en python===== +Notez le –user, ainsi que les -m.\\ 
-  * **[[https://docs.python.org/fr/3/tutorial/venv.html|Environnements virtuels et paquets]]** sur la Doc officielle docs.python.org+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.
  
-====Création d'environnements virtuels==== +Si besoin, ajouter à ~.bashrc 
-https://docs.python.org/fr/3/tutorial/venv.html#creating-virtual-environments+<code bash>export PYTHONPATH="${PYTHONPATH}:~/.local"</code>
  
-Création d'un dossier tutorial-env dans le dossier de votre projet toto: /../../../projets/toto/ +====Liste des package installés localement==== 
-  /../../../projets/toto/python3 -m venv mon_env+Donc sans les packages du système et les packages installés dans le système
 +  python3 -m pip list --user 
 +===== Environnement Virtuel =====
  
-Activation de l'environnement: +==== Installation de venv ==== 
-  source mon_env/bin/activate +<code bash> 
-le prompt devient (tutorial-env) mon_env@127:/../../../projets/toto/\\ +# Mise à jour de pip 
-pour voir où vous êtes et tester +python3 -m pip install --upgrade pip 
-  ls +# Installation de venv 
-  python3 +sudo apt install python3-venv 
-  import sys +</code> 
-Ctrl + D pour quitter+=====Ressources===== 
 +  * **https://packaging.python.org/** la doc officielle
  
-===Installation d'un paquet dans cet environnement=== +==== Initialisation ==== 
-  python3 -m pip install Pillow==7.1.1 +<code bash> 
-Successfully installed Pillow-7.1.1, pour voir les infos +cd /le/dossier/de/votre/projet/truc/ 
-  pip show Pillow +# Création du dossier environnement si pas encore créé 
-pip list liste tous les paquets installés dans l'environnement virtuel: +python3 -m venv mon_env 
-  pip list+# 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>
  
-<code> +====Arguments spécifiques==== 
-  Package       Version + 
-------------- ------- +===Installation avec les sources dans un dossier=== 
-Pillow        7.1.1   +<code bash>python3 -m pip install --no-index --find-links=/media/data/exclude/clones/mediapipe mediapipe</code> 
-pip           18.1    + 
-pkg-resources 0.0.0   +===Avec accès aux package système=== 
-setuptools    40.8.0+  * 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 ---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> </code>
  
-===Installation de tous les paquets requis=== +==== Relance pour installer de nouveaux package ===
-  python3 -m pip install -r requirements.txt+<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 ==== ==== 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 dependances de votre projet.\\+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. C'est la liste de tous les paquets que vous avez installé pour votre projet.
-  pip freeze > requirements.txt +<code bash>pip freeze > requirements.txt</code>  
-  +
  
      
-=====Création d'un venv avec une autre version de pythotn=====+=====Création d'un venv avec une autre version de python=====
 Installation de python 3.8 sur Xubuntu 18.04 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   * https://askubuntu.com/questions/1197683/how-do-i-install-python-3-8-in-lubuntu-18-04
- +<code bash> 
-  sudo apt update +sudo apt update 
-  sudo apt install software-properties-common +sudo apt install software-properties-common 
-  sudo add-apt-repository ppa:deadsnakes/ppa +sudo add-apt-repository ppa:deadsnakes/ppa 
-  sudo apt install python3.8 +sudo apt install python3.8 
 +</code>
 Création d'un venv Création d'un venv
 <code bash> <code bash>
Ligne 94: Ligne 134:
 python3.8 -m pip install -r requirements.txt python3.8 -m pip install -r requirements.txt
 </code> </code>
-=====Lancer correctement python===== 
-  * **[[https://sametmax.com/lancer-correctement-python-et-ses-commandes-cousines/|Lancer correctement python et ses commandes cousines]]** 
  
-Ne faites pas: 
-  sudo pip install black  
-  black mon_fichier.py 
-Mais faites: 
-  python3.7 -m pip install black --user  
-  python3.7 -m black mon_fichier.py 
- 
-Notez le --user, ainsi que les deux usages de -m.\\ 
-Ceci va installer black localement, pas au niveau du système. On s’assure qu’on n’utilise bien Python3.6, à l’installation et à l’usage de black. Et comme on n’utilise -m, on a pas à se demander si la commande black est bien sur le PATH (pas besoin de trifouiller son .bashrc) 
 =====Travailler avec Geany et un Virtual Env===== =====Travailler avec Geany et un Virtual Env=====
   * **[[https://stackoverflow.com/questions/42013705/using-geany-with-python-virtual-environment|Using geany with python virtual environment]]**   * **[[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": Dans "Construire" / "Définir les commandes de construction":
-  mon_env/bin/python3 "%f"+  ../mon_env/bin/python3 "%f"
 {{:media_14:geany_construire.png?200|}} {{:media_14:geany_construire.png?200|}}
 {{:media_14:construire_execute.png?400|}} {{:media_14:construire_execute.png?400|}}
-=====Installation d'un package avec pip===== 
- 
-====Installer un package==== 
-Le package est installé dans le home du user: 
- 
-  python3.7 -m pip install black --user  
-   
-Pour lancer un script: 
- 
-  python3.7 -m mon_fichier.py 
- 
-====Mettre à jour pip==== 
-   
-  python3.7 -m pip install --upgrade pip 
-   
-Si vous avez cette alerte: 
-  WARNING: The scripts pip, pip3 and pip3.7 are installed in '/home/toto/.local/bin' which is not on PATH. 
-  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. 
-   
-Ajouter au fichier ~/.bashrc 
- 
-  # Pour pip, pip3 and pip3.7 
-  export PYTHONPATH="${PYTHONPATH}:/home/toto/.local/bin" 
-   
 {{tag>python sb}} {{tag>python sb}}
virtualenv.txt · Dernière modification : 2022/05/06 15:49 de serge