Would pipx solve the problem?

https://pipx.pypa.io/stable/installation/