This is one aspect of Python that’s somewhat confusing at first. You have pip and pip3 and sometimes it’s not always clear what is what because it’s entirely possible to install something with pip and have it working on Python3. You’d think it would only work on Python. It’s one of the criticism I’ve heard from others as well.

Upgrading all existing packages

Nothing official exists yet! See this open issue.

Edit: It’s 2023, still an open issue.

Creating a virtual environment

Highly recommended. To do so: python3 -m venv env

To ugprade a package

pip install --upgrade [package]

To upgrade pip

python3 -m pip install --upgrade pip

To check for outdated packages

pip list --outdated