A common way to break project installation is to import the package in
setup.py in order to get access to mypackage.__version__. However if
mypackage depends on a different uninstalled package, the import will
fail, causing setup.py to fail before it has a chance to install the
The fix is to find some other DRY way to get at __version__.
For more details see: