На своих 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 начнёт кешировать все скачанные пакеты в эту папку.