Блокировка Pipenv: как кэшировать загрузки для переноса на автономный компьютер - PullRequest
0 голосов
/ 26 апреля 2018

Я ищу способ создать автономный архив всех зависимостей, необходимых для удовлетворения Pipfile.lock.Одним из способов достижения этого было бы указать PIPENV_CACHE_DIR на пустой временный каталог, запустить pipenv install, отправить содержимое этого каталога и использовать его на автономном компьютере.

Например, это должно работать:

tmpdir=$(mktemp -d)
if [ -n "$offline" ]; then
    tar -xf pipenv_cache.tar -C "$tmpdir"
fi
pipenv --rm
PIPENV_CACHE_DIR="$tmpdir" PIP_CACHE_DIR="$tmpdir" pipenv install
if [ -n "$online" ]; then
    tar -cf pipenv_cache.tar -C "$tmpdir" .
fi

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

Вопросесть ли лучший способ, который не включает в себя собственный сценарий?Может быть, задокументированная лучшая практика сообщества?

В идеале, должен существовать такой интерфейс, как:

pipenv lock --create-archive <file_name>
pipenv install --from-archive <file_name>
...