Как кэшировать загруженные пакеты PIP [дубликат]
этот вопрос уже есть ответ здесь:
- Как установить из локального кэша с помощью pip? 10 ответов
Как предотвратить повторную загрузку ранее загруженных пакетов PIP? Я тестирую установку matplotlib, пакета размером 11 Мб, который зависит от нескольких пакетов, специфичных для дистрибутива. Каждый раз, когда я бегу pip install matplotlib
, он повторно загружает matplotlib. Как мне это остановить?
3 ответа:
вы можете использовать переменную среды PIP_DOWNLOAD_CACHE и укажите на каталог, где будут храниться ваши пакеты. Если они будут установлены снова, они будут взяты из этого каталога.
там, кажется, также есть дополнительная опция для PIP
pip --download-cache
что нужно сделать что-то подобное, но я никогда не пробовал это сам. Для вашего примера, чтобы избежать повторной загрузкиmatplotlib
каждый раз, вы сделали бы следующее:pip install --download-cache /path/to/pip/cache matplotlib
это ответ на твой вопрос?
для новых версий Pip:
новые версии Pip по умолчанию теперь загружает кэш. Смотрите эту документацию:
https://pip.pypa.io/en/stable/reference/pip_install/#caching
для старых версий Pip:
создайте файл конфигурации с именем
~/.pip/pip.conf
и добавить следующее содержание:[global] download_cache = ~/.cache/pip
в одну команду:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
вы можете
# download and extract package to build path pip install --no-install matplotlib # the build path could be found by pip install --help|grep Unpack\ packages\ into -A 2 # then rm pip-delete-this-directory.txt inside the build path # this prevent pip from removing package from the build directory after install # you could check the content of the file rm build/pip-delete-this-directory.txt # from now on you could install matplotlib quickly # this uses single build directory # and can speed up compiling by caching intermediate objects. pip install --no-download matplotlib
кроме того, вы можете вручную скачать пакет
pip install -d dir_for_packages matplotlib
затем установите его с помощью un-tar и
python setup install
позже.The
pip install --download-cache
работает аналогичным образом с дополнительной проверкой: он сначала ищет последнюю или указанную версию целевого пакета из интернета, Если поиск имеет результат и есть кэшированный пакет в каталоге, указанномdownload-cache
кэшированный пакет будет использоваться вместо загрузки. Например,pip install --download-cache . pymongo
загрузит пакет pymongo в текущий каталог:
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz.content-type