Pip is a powerful but low-level tool, which probably shouldn't be user-facing. It doesn't have a full resolver, locking mechanism, or environment management. Likewise setuptools.
For installing global command-line scripts, I like pipx instead of pip. https://github.com/pipxproject/pipx
For development, I like Poetry instead of pip. https://poetry.eustace.io