Как установить сразу несколько пакетов Python с помощью pip


207

Я знаю, что это простой способ сделать это, но я не нашел его ни здесь, ни в Google. Поэтому мне было любопытно, есть ли способ установить несколько пакетов с помощью pip. Что-то типа:

pip install progra1 , progra2 ,progra3 ,progra4 . 

или:

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

Ответы:


291

Для установки нескольких пакетов в командной строке просто передайте их в виде списка, разделенного пробелами, например:

pip install wsgiref boto

Для установки из текстового файла из pip install --help:

-r ИМЯ ФАЙЛА, --requirement = ИМЯ ФАЙЛА

Установите все пакеты, перечисленные в данном файле требований. Эту опцию можно использовать несколько раз.

Взгляните на документацию pip относительно файлов требований для их общего макета и синтаксиса - обратите внимание, что вы можете сгенерировать один на основе текущей среды / пакетов сайта, pip freezeесли вам нужен быстрый пример - например (на основе установки wsgirefи botoв чистом virtualenv ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2

4
«Список, разделенный пробелами», кажется, не работает для меня, если между пакетами есть зависимости, например: sudo -H pip install setuptools trezorвызывает эту ошибку: «Не удалось импортировать setuptools, которые требуются для установки из исходного дистрибутива. Пожалуйста, установите setuptools.». Вместо этого мне нужно выполнять две отдельные команды.
Джонатан Кросс,

Устанавливает ли это pip install wsgiref botoбиблиотеки и их зависимости?
mockash

104
pip install -r requirements.txt

а в файле requirements.txt вы помещаете свои модули в список, по одному элементу в строке.

  • Django = 1.3.1

  • Юг> = 0,7

  • панель инструментов django-debug


Как я могу сделать то же самое с помощью conda? любая идея? conda intsall -r requirements.txt не работает.
CKM


Номер версии указывать обязательно? Другими словами, если вы просто поставите Djangoодну строчку, она автоматически установит последнюю версию?
Jon Grah

Вам не нужно указывать номер версии и, как правило, это не требуется, хотя pipиногда трудно предсказать, какая именно версия будет установлена, особенно если вы настроили pipнесколько исходных индексов и / или параметров конфигурации, которые ограничивают то, какие пакеты могут быть установлен. Обычная потребность указать требование минимальной версии, напримерpip >= 9.0
tripleee

14

Вы можете установить пакеты, перечисленные в текстовом файле, который называется файлом требований . Например, если у вас есть файл с именем, req.txtсодержащий следующий текст:

Django==1.4
South==0.7.3

и вы вводите в командной строке:

pip install -r req.txt

pip установит пакеты, перечисленные в файле, в конкретных версиях.


5

Дополняя другие ответы, вы можете использовать возможность --no-cache-dirотключить кеширование в pip. Моя виртуальная машина давала сбой при установке сразу нескольких пакетов с расширением pip install -r requirements.txt. Для меня было решено:

pip install --no-cache-dir -r requirements.txt

1

Вы можете просто поместить несколько имен вместе, разделенных пробелом, например

C:\Users\Dell>pip install markdown django-filter

#c:\Users\Dell is path in my pc this can be anything on yours

это установило уценку и django-filter на моем устройстве. введите описание изображения здесь


Не добавляет ничего нового по сравнению с уже принятым ответом.
sinoroc

0

введите ту же команду, которую вы использовали при установке одного модуля, только передавайте ее через формат с разделителями пробелами


0

Вы можете использовать следующие шаги:

Шаг 1. Создайте файл requirements.txt со списком пакетов для установки. Если вы хотите скопировать пакеты в определенной среде, сделайте это

pip freeze >> requirements.txt

иначе сохраните имена пакетов в файле с именем requirements.txt

Шаг 2: Выполните команду pip с этим файлом

pip install -r requirements.txt
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.