Outils pour utilisateurs

Outils du site


python:pip

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édentes Révision précédente
Prochaine révision
Révision précédente
python:pip [2022/08/31 06:52]
marclebrun
python:pip [2023/10/07 06:45] (Version actuelle)
marclebrun [Mettre à jour tous les packages]
Ligne 3: Ligne 3:
   * Python Package Index (PyPi) : [[https://​pypi.org/​]]   * Python Package Index (PyPi) : [[https://​pypi.org/​]]
  
-===== Pip version ​=====+===== Version ​=====
  
 Afficher la version de pip : Afficher la version de pip :
Ligne 15: Ligne 15:
 <code bash> <code bash>
 pip install --upgrade pip pip install --upgrade pip
 +</​code>​
 +
 +===== Configuration =====
 +
 +Sous Windows, pour connaître l'​emplacement du fichier de configuration de PIP :
 +
 +<code bash>
 +pip config -v list
 +
 +# exemple :
 +For variant '​global',​ will try loading '​C:​\ProgramData\pip\pip.ini'​
 +For variant '​user',​ will try loading '​C:​\Users\toto\pip\pip.ini'​
 +For variant '​user',​ will try loading '​C:​\Users\toto\AppData\Roaming\pip\pip.ini'​
 +For variant '​site',​ will try loading '​C:​\Program Files\Python310\pip.ini'​
 +</​code>​
 +
 +Aucun de ces fichiers n'​existait,​ j'ai donc créé
 +**C:​\Users\toto\pip\pip.ini** et j'y ai mis ceci :
 +
 +<code ini>
 +[global]
 +trusted-host =
 +    mirror1.example.com
 +    mirror2.example.com
 </​code>​ </​code>​
  
Ligne 41: Ligne 65:
 <code bash> <code bash>
 pip install <​nom-du-package>​ pip install <​nom-du-package>​
 +</​code>​
 +
 +S'il y a une erreur de vérification de certificat SSL (SSLCertVerificationError)
 +
 +  * Soit ajouter les **trusted-host** dans le fichier de configuration
 +  * Soit les ajouter sur la ligne de commande, comme ci-dessous :
 +
 +<code bash>
 +pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org <​nom-du-package>​
 +</​code>​
 +
 +Dans un environnement virtuel, j'ai donc ajouté un fichier **pip.ini** dans le dossier **venv**
 +avec le contenu suivant :
 +
 +<code ini>
 +[global]
 +trusted-host =
 +    pypi.org
 +    pypi.python.org
 +    files.pythonhosted.org
 </​code>​ </​code>​
  
Ligne 54: Ligne 98:
 pip install pip-autoremove pip install pip-autoremove
 pip-autoremove <​nom-du-package>​ pip-autoremove <​nom-du-package>​
 +</​code>​
 +
 +Lister les packages qui peuvent être mis à jour :
 +
 +<code bash>
 +pip list -o
 +</​code>​
 +
 +Mettre à jour un package :
 +
 +<code bash>
 +pip install <​nom-du-package>​ -U
 </​code>​ </​code>​
  
Ligne 63: Ligne 119:
 <code bash> <code bash>
 source venv/​bin/​activate source venv/​bin/​activate
-pip freeze > requirements.txt+(venv) ​pip freeze > requirements.txt
 </​code>​ </​code>​
  
Ligne 70: Ligne 126:
  
 <code bash> <code bash>
-source ​venv/bin/activate +(venv) pip install -r requirements.txt 
-pip install -requirements.txt+</code> 
 + 
 +===== Mettre à jour tous les packages ===== 
 + 
 +Pour mettre à jour tous les packages de l'​environnement virtuel, 
 +il faut fournir à **pip** une liste des packages comportant 
 +uniquement les noms, sans les numéros de versions. 
 + 
 +La commande suivante coupe chaque ligne que renvoie **pip freeze**  
 +à chaque signe "​=",​ afin de ne conserver que les noms : 
 + 
 +<code bash> 
 +(venv) pip freeze | cut -d'​='​ -f1 
 +</code> 
 + 
 +Il ne reste plus qu'à fournir cette liste à **pip install -U** et le tour 
 +est joué : 
 + 
 +<code bash> 
 +(venv) pip freeze | cut -d'​='​ -f1 | xargs -n1 pip install -U 
 +</​code>​ 
 + 
 +Ensuite si tout fonctionne correctement,​ on peut recréer un nouveau 
 +fichier **requirements.txt** 
 + 
 +<code bash> 
 +(venv) pip freeze > requirements.txt
 </​code>​ </​code>​
  
python/pip.1661928765.txt.gz · Dernière modification: 2022/08/31 06:52 par marclebrun