Using a local cache for pip packages[pip使用本地cache安装包]

I do a lot of development without an internet connection, so being able to install packages into a virtual environment without a connection to PyPI is pretty useful.

I've got a couple of aliases in my .bashrc which help with this:

alias pipcache='pip install --download ${HOME}/.pip-packages'
alias pipinstall='pip install --no-index --find-links=file://${HOME}/.pip-packages/'

The first downloads the packages to my local cache, the second installs them from the cache.
Usage is probably fairly obvious:

pipcache Django==1.5 # Put Django-1.5.tar.gz in ~/.pip-packages
pipinstall Django==1.5 # Install ~/.pip-packages/Django-1.5.tar.gz

pipcache -r requirements.txt # Cache all the requirements of a project
pipinstall -r requirements.txt # Install all requirements from the cache

It's perfectly possible to cache multiple versions of the same package, which is useful for being able to test upgrading to newer releases,
whilst still being able to revert to the previously pinned package if you find nothing works.
Since I mostly use a fairly small set of packages, this means I can start up a brand new virtualenv and I'm very likely to have everything I need without going to PyPI. Not having to download large packages makes installs quicker too.

To take advantage of this, I've added the following to my ~/.bash_profile:

export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache_dir

原文地址:https://www.cnblogs.com/sixloop/p/pip_local_install.html