http://blog.doughellmann.com/2007/11/requiring-packages-with-distutils.html
Python IMO replaced fighting platform dependencies with fighting distribution tool dependencies. The abundance of setup tools like distutils, setuptools, easy_install, ez install, whatever the others are called, just shows that it wasn't done right in the first place and we're still paying for that now. Here's a question: Why should setup tools even introduce new syntax like 'install_requires' to the source code? Shouldn't this be done in a setup config file instead? There is a reason why for installing compiled code we have configure AND make/make install.