Most Python packages are purely Python and blissfully easy to install, just as a simple
pip install packagename does the trick. However, there are cases where compilation is involved and installation goes from a simple pip install to searching for hours to see which dependencies are needed to install a certain package.
The specific error message will differ as per the project and environment, but there is a common pattern in these errors, and understanding what you are looking at can help a lot when searching for a solution.
For example, when installing
pillow on a standard Ubuntu machine, you'll get a few pages full of errors, warnings, and other messages that end like this:
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-3.4/libImaging/Jpeg2KDecode.o: ...