Comment installer plusieurs packages python à la fois à l'aide de pip

190

Je sais que c'est un moyen facile de le faire mais je ne l'ai trouvé ni ici ni sur google. J'étais donc curieux de savoir s'il existe un moyen d'installer plusieurs packages à l'aide de pip. Quelque chose comme:

pip install progra1 , progra2 ,progra3 ,progra4 . 

ou:

pip install (command to read some txt containing the name of the modules) 
Florin
la source

Réponses:

266

Pour installer plusieurs packages sur la ligne de commande, transmettez-les simplement sous forme de liste délimitée par des espaces, par exemple:

pip install wsgiref boto

Pour l'installation à partir d'un fichier texte, puis, à partir de pip install --help:

-r FILENAME, --requirement = FILENAME

Installez tous les packages répertoriés dans le fichier de configuration requis. Cette option peut être utilisée plusieurs fois.

Jetez un œil à la documentation de pip concernant les fichiers d'exigences pour leur présentation générale et leur syntaxe - notez que vous pouvez en générer un basé sur l'environnement / les packages de site actuels avec pip freezesi vous voulez un exemple rapide - par exemple (basé sur l'installation wsgirefet botodans un environnement virtuel propre ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2
Verre Kristian
la source
4
"Liste délimitée par des espaces" ne semble pas fonctionner pour moi s'il y a des dépendances entre les packages, par exemple: sudo -H pip install setuptools trezorprovoque cette erreur: "Impossible d'importer setuptools qui est requis pour l'installation à partir d'une distribution source. Veuillez installer setuptools.". Au lieu de cela, je dois exécuter comme 2 commandes distinctes.
Jonathan Cross
Cela pip install wsgiref botoinstalle- t-il également les bibliothèques avec leurs dépendances?
mockash le
101
pip install -r requirements.txt

et dans le fichier requirements.txt, vous mettez vos modules dans une liste, avec un élément par ligne.

  • Django = 1.3.1

  • Sud> = 0,7

  • django-debug-toolbar

Radu Gheorghiu
la source
Comment puis-je faire de même avec conda? une idée? conda intsall -r requirements.txt ne fonctionne pas.
CKM
Essayez ceci: stackoverflow.com/questions/35802939/…
tisaconundrum
Devez-vous spécifier le numéro de version? En d'autres termes, si vous ne mettez Djangoqu'une seule ligne, installerait-il automatiquement la dernière version?
Jon Grah
Vous n'avez pas besoin de spécifier un numéro de version, et généralement pas besoin de le faire, mais quelle version exactement pippuis installe est parfois difficile à prédire, surtout si vous avez configuré pipavec plusieurs index source et / ou options de configuration qui contraignent quels packages peuvent être installé. Un besoin courant est de spécifier une version minimale requise, commepip >= 9.0
tripleee
14

Vous pouvez installer les packages répertoriés dans un fichier texte appelé fichier des exigences . Par exemple, si vous avez un fichier appelé req.txtcontenant le texte suivant:

Django==1.4
South==0.7.3

et vous émettez sur la ligne de commande:

pip install -r req.txt

pip installera les packages répertoriés dans le fichier aux révisions spécifiques.

Masci
la source
5

En complément des autres réponses, vous pouvez utiliser l'option --no-cache-dirpour désactiver la mise en cache dans pip. Ma machine virtuelle plantait lors de l'installation de plusieurs packages à la fois avec pip install -r requirements.txt. Ce qui a été résolu pour moi était:

pip install --no-cache-dir -r requirements.txt
victortv
la source
0

donnez la même commande que celle que vous aviez l'habitude de donner lors de l'installation d'un seul module, passez-le uniquement via un format délimité par des espaces

SATYAJIT MAITRA
la source