For the non-install case, like when you're running a package index, having to eval the dependency specifying is horrible.
This is also why wheels (the new python package format) use a static file instead of setup.py. The Python ecosystem has been trying to get off of "just eval setup.py" for years.