Difference between 'python setup.py install' and 'pip install'

I have an external package I want to install into my python virtualenv from a tar file. What is the best way to install the package? I've discovered 2 ways that can do it: Extract the tar file, t...