Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
python:pip [2023/09/21 04:47] marclebrun [Packages] |
python:pip [2023/10/07 06:45] (Version actuelle) marclebrun [Mettre à jour tous les packages] |
||
---|---|---|---|
Ligne 74: | Ligne 74: | ||
<code bash> | <code bash> | ||
pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org <nom-du-package> | 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 101: | Ligne 112: | ||
</code> | </code> | ||
- | Mettre à jour tous les packages d'un l'environnement virtuel : | + | ===== Requirements.txt ===== |
+ | |||
+ | Créer un fichier **requirements.txt** correspondant aux packages installés dans | ||
+ | le Virtual Environment en cours : | ||
<code bash> | <code bash> | ||
+ | source venv/bin/activate | ||
(venv) pip freeze > requirements.txt | (venv) pip freeze > requirements.txt | ||
+ | </code> | ||
- | # éditer le fichier requirements.txt pour supprimer les numéros de versions | + | Ensuite pour réinstaller le tout dans un nouvel environnement, il suffit d'avoir |
- | # et ne conserver que les noms des packages | + | le fichier **requirements.txt** et de taper : |
- | (venv) pip install -r requirements.txt --upgrade | + | <code bash> |
+ | (venv) pip install -r requirements.txt | ||
</code> | </code> | ||
- | ===== Requirements.txt ===== | + | ===== Mettre à jour tous les packages ===== |
- | Créer un fichier **requirements.txt** correspondant aux packages installés dans | + | Pour mettre à jour tous les packages de l'environnement virtuel, |
- | le Virtual Environment en cours : | + | 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> | <code bash> | ||
- | source venv/bin/activate | + | (venv) pip freeze | cut -d'=' -f1 |
- | pip freeze > requirements.txt | + | |
</code> | </code> | ||
- | Ensuite pour réinstaller le tout dans un nouvel environnement, il suffit d'avoir | + | Il ne reste plus qu'à fournir cette liste à **pip install -U** et le tour |
- | le fichier **requirements.txt** et de taper : | + | est joué : |
<code bash> | <code bash> | ||
- | source venv/bin/activate | + | (venv) pip freeze | cut -d'=' -f1 | xargs -n1 pip install -U |
- | pip install -r requirements.txt | + | </code> |
+ | |||
+ | Ensuite si tout fonctionne correctement, on peut recréer un nouveau | ||
+ | fichier **requirements.txt** | ||
+ | |||
+ | <code bash> | ||
+ | (venv) pip freeze > requirements.txt | ||
</code> | </code> | ||