Python: PIP download cache

На своих Python-проектах я всё время пользуюсь виртуальным окружением (virtualenv), как для разработки, так и для их деплоя (развёртки, установки). Обычный способ установки новой зависимости в virtualenv это использование пакетного менеджера Python — PIP. Он достаточно прост как по логике работы, так и по использованию. Так, при попытке установить пакет в virtualenv он будет тянуть каждый раз исходники с PyPi-репозитория (или с другого места, если его об этом попросили).

Иногда этот процесс может занять достаточно много времени: если надо скачать много пакетов или некоторые из них скачиваются не очень быстро (например, стянуть большой репозиторий с github, помнится, ещё почему-то django скачивалась не очень шустро).

Решение проблемы медленной загрузки пакетов PIP’ом

Итак, если PIP загружает пакеты медленно, то один из способов решения этой проблемы — использовать кеш. Тогда, загрузив и установив один пакет определённой версии в одном виртуальном окружении, вам уже не придётся скачивать его во всех остальных. Для этого нужно либо указать ключ —download-cache и в качестве значения директорию куда будут складироваться пакеты. Например, так:
$ pip install someawesomepackage --download-cache=~/.pip_download_cache

Либо, установить путь до кеша в переменную окружения PIP_DOWNLOAD_CACHE. Например, добавив в ~/.bahrc или ~/.zshrc такую строку:
PIP_DOWNLOAD_CACHE=/home/lizzard/.pip_download_cache

Где вместо lizzard стоит указать ваше имя пользователя.

После этого, при новом запуске вашего shell’а, PIP начнёт кешировать все скачанные пакеты в эту папку.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: