Я часто прибегаю к вызову pip как модуля из python и использую указанную версию python, например sudo -H python3.7 -m pip install virtualenv
Команда объяснила;
sudo: установить в систему как пользователь sudo
-H: опция -H (HOME) запрашивает, чтобы в политике безопасности была задана переменная среды HOME для домашнего каталога целевого пользователя.
python {py-version}: просто используйте вашу обычную версию python.
-m: использовать в качестве модуля Python.
pip: pip3 не нужен, так как он вызывается из правильной версии python
[UPDATE]
Поскольку ОП обновил свой вопрос, я обновлю свой ответ.
Если появляется ошибка «кэширование из-за etag», используйте флаг pip --no-cache-dir
.