pip has the following relevant options:
-d, --download <dir>
Download packages into <dir> instead of installing
them, regardless of what’s already installed.
--download-cache <dir>
Cache downloaded packages in <dir>.
--src <dir>
Directory to check out editable projects into.
The default in a virtualenv is “<venv path>/src”.
The default for global installs is
“<current dir>/src”.
-U, --upgrade
Upgrade all packages to the newest available
version. This process is recursive regardless of
whether a dependency is already satisfied.
--force-reinstall
When upgrading, reinstall all packages even if
they are already up-to-date.
-I, --ignore-installed
Ignore the installed packages (reinstalling
instead).
--no-deps
Don’t install package dependencies.
--no-install
Download and unpack all packages, but don’t
actually install them.
--no-download
Don’t download any packages, just install the
ones already downloaded (completes an install run
with –no-install).
These seem very comprehensive and useful!