Jak zainstalować wiele pakietów Pythona za pomocą pip

188

Wiem, że to łatwy sposób, ale nie znalazłem go ani tutaj, ani w Google. Byłem więc ciekawy, czy istnieje sposób na zainstalowanie wielu pakietów za pomocą pip. Coś jak:

pip install progra1 , progra2 ,progra3 ,progra4 . 

lub:

pip install (command to read some txt containing the name of the modules) 
Florin
źródło

Odpowiedzi:

265

Aby zainstalować wiele pakietów w wierszu poleceń, wystarczy przekazać je jako listę rozdzielaną spacjami, np .:

pip install wsgiref boto

Aby zainstalować z pliku tekstowego, a następnie z pip install --help:

-r NAZWA PLIKU, --require = NAZWA PLIKU

Zainstaluj wszystkie pakiety wymienione w danym pliku wymagań. Z tej opcji można korzystać wiele razy.

Rzuć okiem na dokumentację pip dotyczącą plików wymagań dotyczących ich ogólnego układu i składni - pamiętaj, że możesz wygenerować jeden na podstawie bieżącego środowiska / pakietów stron, pip freezejeśli chcesz szybki przykład - np. (Na podstawie zainstalowania wsgirefi botoczystej wirtualnej wersji ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2
Kristian Glass
źródło
4
„Lista rozdzielana spacjami” nie wydaje mi się działać, jeśli istnieją zależności między pakietami, np .: sudo -H pip install setuptools trezorpowoduje ten błąd: „Nie można zaimportować setuptools, które należy zainstalować z dystrybucji źródłowej. Proszę zainstalować setuptools.”. Zamiast tego muszę uruchomić jako 2 osobne polecenia.
Jonathan Cross
Czy to również pip install wsgiref botoinstaluje biblioteki wraz z ich zależnościami?
mockash
100
pip install -r requirements.txt

a w pliku wymagania.txt umieścisz moduły na liście, z jednym elementem w wierszu.

  • Django = 1.3.1

  • Południe> = 0,7

  • pasek narzędzi debugowania django

Radu Gheorghiu
źródło
Jak mogę zrobić to samo za pomocą Conda? dowolny pomysł? conda intsall -r wymagania.txt nie działa.
CKM
Spróbuj tego: stackoverflow.com/questions/35802939/…
tisaconundrum
Czy musisz podać wersję #? Innymi słowy, czy po prostu wstawisz Djangojedną linię, czy automatycznie zainstaluje najnowszą wersję?
Jon Grah
Nie musisz podawać numeru wersji i generalnie nie musisz tego robić, chociaż która wersja dokładnie pipwtedy instaluje się, czasami jest trudna do przewidzenia, szczególnie jeśli skonfigurowałeś pipwiele indeksów źródłowych i / lub opcji konfiguracyjnych, które ograniczają, które pakiety mogą być zainstalowany. Częstą potrzebą jest określenie minimalnych wymagań wersji, takich jakpip >= 9.0
tripleee
14

Możesz zainstalować pakiety wymienione w pliku tekstowym zwanym plikiem wymagań . Na przykład, jeśli masz plik o nazwie req.txtzawierający następujący tekst:

Django==1.4
South==0.7.3

i wydajesz w wierszu poleceń:

pip install -r req.txt

pip zainstaluje pakiety wymienione w pliku w określonych wersjach.

Masci
źródło
5

Uzupełniając inne odpowiedzi, możesz użyć opcji --no-cache-dirwyłączenia buforowania w pip. Moja maszyna wirtualna ulegała awarii podczas instalowania wielu pakietów jednocześnie pip install -r requirements.txt. Rozwiązałem dla mnie:

pip install --no-cache-dir -r requirements.txt
victortv
źródło
0

wydaj tę samą komendę, jakiej użyłeś podczas instalowania pojedynczego modułu, przekaż go tylko w formacie rozdzielanym spacjami

SATYAJIT MAITRA
źródło