A silent install is possible by using the quiet (short: q) flag:
pip install somepackage --quiet
This hides installation messages.
As per its documentation, note that this option is additive, and can be specified up to 3 times to remove messages of increasing levels of importance (warning, error, critical).
Additionally, you may want to force “always yes” as per this answer, and/or an exists-action option for a default behaviour when multiple choices exist:
yes | pip install somepackage -q -q -q --exists-action i
where exists-action i stands for ignore, and 3 quiets hide every message.
This truly has its mouth shut!