So installieren Sie mehrere Python-Pakete gleichzeitig mit pip

187

Ich weiß, dass es eine einfache Möglichkeit ist, aber ich habe es weder hier noch bei Google gefunden. Ich war also neugierig, ob es eine Möglichkeit gibt, mehrere Pakete mit pip zu installieren. Etwas wie:

pip install progra1 , progra2 ,progra3 ,progra4 . 

oder:

pip install (command to read some txt containing the name of the modules) 
Gulden
quelle

Antworten:

264

Um mehrere Pakete in der Befehlszeile zu installieren, übergeben Sie sie einfach als durch Leerzeichen getrennte Liste, z.

pip install wsgiref boto

Für die Installation aus einer Textdatei dann von pip install --help:

-r FILENAME, --requirement = FILENAME

Installieren Sie alle Pakete, die in der angegebenen Anforderungsdatei aufgeführt sind. Diese Option kann mehrfach verwendet werden.

Schauen Sie sich die Pip-Dokumentation zu Anforderungsdateien für deren allgemeines Layout und Syntax an. Beachten Sie, dass Sie eine basierend auf der aktuellen Umgebung / Site-Paketen generieren können, pip freezewenn Sie ein kurzes Beispiel wünschen - z. B. (basierend auf der Installation wsgirefund botoin einer sauberen virtuellen Umgebung) ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2
Kristian Glass
quelle
4
"Leerzeichen-begrenzte Liste" scheint für mich nicht zu funktionieren, wenn Abhängigkeiten zwischen den Paketen bestehen, z. B.: sudo -H pip install setuptools trezorverursacht diesen Fehler: "Setuptools, die für die Installation aus einer Quelldistribution erforderlich sind, konnten nicht importiert werden. Bitte installieren Sie setuptools." Stattdessen muss ich als 2 separate Befehle ausführen.
Jonathan Cross
Ist dies pip install wsgiref botoauch die Bibliotheken mit ihren Abhängigkeiten installieren?
Mockash
100
pip install -r requirements.txt

und in der Datei require.txt fügen Sie Ihre Module in eine Liste mit einem Element pro Zeile ein.

  • Django = 1.3.1

  • Süd> = 0,7

  • Django-Debug-Symbolleiste

Radu Gheorghiu
quelle
Wie kann ich dasselbe mit conda machen? irgendeine Idee? conda intsall -r require.txt funktioniert nicht.
CKM
Versuchen Sie dies: stackoverflow.com/questions/35802939/…
tisaconundrum
Müssen Sie die Versionsnummer angeben? Mit anderen Worten, wenn Sie nur Djangoeine Zeile eingeben, wird dann automatisch die neueste Version installiert?
Jon Grah
Sie müssen keine Versionsnummer angeben und müssen dies im Allgemeinen auch nicht tun. Es pipist jedoch manchmal schwer vorherzusagen, welche Version genau dann installiert wird, insbesondere wenn Sie pipmit mehreren Quellindizes und / oder Konfigurationsoptionen konfiguriert haben, die die Möglichkeiten der Pakete einschränken installiert werden. Ein allgemeines Bedürfnis ist es, eine Mindestversionsanforderung anzugeben, wiepip >= 9.0
Tripleee
14

Sie können Pakete installieren, die in einer Textdatei namens Anforderungsdatei aufgeführt sind . Wenn Sie beispielsweise eine Datei req.txtmit dem folgenden Text haben:

Django==1.4
South==0.7.3

und Sie geben an der Kommandozeile aus:

pip install -r req.txt

pip installiert Pakete, die in der Datei bei den spezifischen Revisionen aufgeführt sind.

Masci
quelle
5

Ergänzend zu den anderen Antworten können Sie die Option verwenden --no-cache-dir, um das Caching in pip zu deaktivieren. Meine virtuelle Maschine stürzte ab, als viele Pakete gleichzeitig mit installiert wurden pip install -r requirements.txt. Was sich für mich gelöst hat war:

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

Geben Sie den gleichen Befehl ein, den Sie bei der Installation eines einzelnen Moduls gegeben haben, und übergeben Sie ihn nur über ein durch Leerzeichen getrenntes Format

SATYAJIT MAITRA
quelle