Using python - best practices

This is how I do it:

Manage python versions with pyenv. Modern python comes with pip already installed.

Don't touch system python if you have it, in terms of installing packages, updating it etc.

For projects, use virtual environments using one of the python version installed with step 1. I prefer poetry at the moment to manage them.

Use pipx if you want to install a global utility, so it's isolated from any projects.

Feedback welcome.