There are two pip install options related to reinstalling the packages, which are --ignore-installed and --force-reinstall.
Th
--ignore-installed can also be used if you have a virtual env that inherits the global site-package and you want to override the global installation (without uninstalling it).
For example you can have version N in the global python installation and version N+1 in the venv.
It is very convenient to test/debug a new version of a package in a virtual env.