Как использовать питон Python для загрузки и хранения файлов на молнии для пакета?

Если я хочу использовать команду pip для загрузки пакета (и его зависимостей), но сохраните все загруженные zip файлы (скажем, django-socialregistration.tar.gz) - есть ли способ сделать это?

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

Ответ 1

Параметр --download-cache должен делать то, что вы хотите:

pip install --download-cache="/pth/to/downloaded/files" package

Однако, когда я тестировал это, основной пакет загружался, сохранялся и устанавливался нормально, но зависимости были сохранены с полным URL-адресом в качестве имени - немного раздражающим, но все файлы tar.gz были там.

Опция --download загружает основной пакет и его зависимости и не устанавливает ни одного из них. (Обратите внимание, что до версии 1.1 опция --download не загружала зависимости.)

pip install package --download="/pth/to/downloaded/files"

Документация pip --download на --download для быстрой и локальной установки.

Ответ 2

Я всегда делаю это, чтобы загрузить пакеты:

pip install --download /path/to/download/to_packagename

ИЛИ

pip install --download=/path/to/packages/downloaded -r requirements.txt

И когда я хочу установить все те библиотеки, которые я только что загрузил, я делаю это:

pip install --no-index --find-links="/path/to/downloaded/dependencies" packagename

ИЛИ

pip install --no-index --find-links="/path/to/downloaded/packages" -r requirements.txt


Обновление

Кроме того, чтобы все пакеты были установлены в одной системе, вы можете экспортировать их все в requirement.txt, которые будут использоваться для их включения в другую систему, мы делаем следующее:

pip freeze > requirement.txt

Затем requirement.txt можно использовать, как указано выше для загрузки, или сделать это, чтобы установить их из requirement.txt:

pip install -r requirement.txt

СПРАВОЧНАЯ ИНФОРМАЦИЯ: установщик пикетов

Ответ 3

pip install --download устарел. Начиная с версии 8.0.0 вы должны использовать команду pip download:

 pip download <package-name>

Ответ 4

В версии 7.1.2 pip загружает колесо пакета (если доступно) со следующим:

pip install package -d /path/to/downloaded/file

Загружает исходный дистрибутив:

pip install package -d /path/to/downloaded/file --no-binary :all:

Они также загружают зависимости, если пип знает о них (например, если pip show package перечисляет их).


Обновление

Как отмечено Антоном Ходаком, команда pip download предпочтительнее с версии 8. В приведенных выше примерах это означает, что /path/to/downloaded/file необходимо предоставить с опцией -d, поэтому замена install на download работает.

Ответ 5

Использовать pip download <package1 package2 package n> чтобы загрузить все пакеты, включая зависимости

Используйте pip install --no-index --find-links. <package1 package2 package n> pip install --no-index --find-links. <package1 package2 package n> для установки всех пакетов, включая зависимости. Он получает все файлы из CWD. Он ничего не скажет