From 26990bc0e02de946263b570c273a5087d46b01e9 Mon Sep 17 00:00:00 2001 From: Asheesh Laroia Date: Mon, 2 Dec 2013 12:36:30 -0500 Subject: [PATCH] In the case of setuptools/sqlalchemy conflict, explain the issue This commit tri-licensed under: CC0 1.0, AGPLv3 or later (at your option), and Apache License 2.0 --- setup.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index cf3c2018..3d84065b 100644 --- a/setup.py +++ b/setup.py @@ -32,8 +32,8 @@ def get_version(): raise RuntimeError("Unable to find version string in %s." % VERSIONFILE) - -setup( +try: + setup( name="mediagoblin", version=get_version(), packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), @@ -107,3 +107,17 @@ setup( "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], ) +except TypeError, e: + # Check if the problem is caused by the sqlalchemy/setuptools conflict + msg_as_str = str(e) + if not (msg_as_str == 'dist must be a Distribution instance'): + raise + + # If so, tell the user it is OK to just run the script again. + print "\n\n---------- NOTE ----------" + print "The setup.py command you ran failed." + print "" + print ("It is a known possible failure. Just run it again. It works the " + "second time.") + import sys + sys.exit(1) -- 2.25.1