When you run
sudo your environment is passed along while the effective user switches to root. Your environment includes that your
~/ or home directory (the value of the environment variable
pip looks for an http cache before downloading packages. Probably for a combination of security, sanity and privacy reasons pip disables the cache so as not to write to a cache directory not owned by the current user. It's just telling you that it did that.
As it hints, using
sudo -H would set the
HOME environment variable before executing the command passed to
sudo, using root's home directory
$HOME instead of your user's. The cache could then be written in
/root/.cache/pip/http with no errors.
As a sidenote, you probably shouldn't be running
pip as root anyway.