Как использовать питон 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
. Он ничего не скажет