How can I override default Python modules with ones I install with pip?
The solution to this is virtual environments.

Each environment you have can have separate non conflicting libraries (and python versions) so one can have pillow and another pil.

The proicess is basically


Create a new environment - this will create links to python etc
Install the libraries you want 
Modify your shell environment so that the path points to the python you created in step 1


Tools are included in python 3.6 and 3.7.  To switch between different versions of python see pyenv.

If you need to install another python you might also consider conda.  This can include 2.7 and is sort of equivalent to the combination above but includes binaries of C libraries.

For Apple's python 2.7 see pipenv &amp; virtual environments