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/05/29 13:21] – [Installation d'un package avec pip] sergevirtualenv [2022/05/06 15:49] (Version actuelle) – [Pense bêtes] serge
Ligne 6: Ligne 6:
 </WRAP> </WRAP>
  
 +=====Pense bêtes=====
 +<code bash>
 +# 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===== =====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/index.html|Le tutoriel Python]]** de la fondation Python fr.
Ligne 11: Ligne 35:
  
 ===== Installation d'un package sans environnement virtuel ===== ===== Installation d'un package sans environnement virtuel =====
-  * **[[https://sametmax.com/lancer-correctement-python-et-ses-commandes-cousines/|Lancer correctement python et ses commandes cousines]]** + 
-<code python+<code bash
-python3.7 -m pip install psutil --user  +python3 -m pip install psutil --user  
-python3.7 -m mon_fichier.py+python3 -m mon_fichier.py
 </code> </code>
  
-Notez le –user, ainsi que les deux usages de -m.\\ +Notez le –user, ainsi que les -m.\\ 
-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 psutilEt comme on n’utilise -mpas besoin de trifouiller son .bashrc+Ceci va installer psutil dans ~.local, pas au niveau du système. L'option -m exécute pip en tant que moduleIl y a un warning sur le python pathpersonnellement python m'a toujours trouvé les packages de .localsur 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 ===== ===== Environnement Virtuel =====
  
Ligne 25: Ligne 55:
 <code bash> <code bash>
 # Mise à jour de pip # Mise à jour de pip
-python3.7 -m pip install --upgrade pip+python3 -m pip install --upgrade pip
 # Installation de venv # Installation de venv
 sudo apt install python3-venv sudo apt install python3-venv
 </code> </code>
 +=====Ressources=====
 +  * **https://packaging.python.org/** la doc officielle
 +
 ==== Initialisation ==== ==== Initialisation ====
 <code bash> <code bash>
Ligne 38: Ligne 71:
 # le prompt devient (mon_env) machin@127:/../../../projets/truc/ # le prompt devient (mon_env) machin@127:/../../../projets/truc/
 # Installation des package # Installation des package
-python3 -m pip install wheel  # bug debian ubuntu 
 python3 -m pip install -r requirements.txt python3 -m pip install -r requirements.txt
 # Installation d'un package supplémentaire # Installation d'un package supplémentaire
Ligne 45: Ligne 77:
 pip freeze > requirements.txt pip freeze > requirements.txt
 </code> </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==== ====Exécution d'un script de votre projet====
Ligne 65: Ligne 113:
 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.\\ 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.
-<code bash> +<code bash>pip freeze > requirements.txt</code>  
-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>
virtualenv.1622294477.txt.gz · Dernière modification : 2021/05/29 13:21 de serge