Yes.  I think it only becomes useful if you want to take care of a specific requirement before that call (like the post does in the next example). Otherwise, it is equivalent to pip installing the directory (`pip install /path/to/pymc`). 

I chose to make the theano-related changes in setup.py  because then both `python setup.py install` and `pip install` will handle it correctly. If instead requirements.txt was used (for example, by downloading the git Theano for both py2 and 3), then `pip install -r requirements.txt` would work but `python setup.py install` would still grab the pypi version (which would then fail on py3).