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']),
# scripts and dependencies
install_requires=[
'setuptools',
+ 'python-dateutil',
'PasteScript',
'wtforms',
'py-bcrypt',
'pytest>=2.3.1',
'pytest-xdist',
'werkzeug>=0.7',
- 'celery==2.5.3',
- 'kombu==2.1.7',
+ 'celery>=3.0',
+ 'kombu',
'jinja2',
'sphinx',
- 'Babel<1.0',
+ 'Babel>=1.0',
'argparse',
'webtest<2',
'ConfigObj',
'Markdown',
- 'sqlalchemy>=0.8.0',
- 'sqlalchemy-migrate',
+ 'sqlalchemy<0.9.0, >0.8.0',
+ # newer sqlalchemy-migrate requires pbr which BREAKS EVERYTHING AND IS
+ # TERRIBLE AND IS THE END OF ALL THINGS
+ # I'd love to remove this restriction.
+ 'sqlalchemy-migrate<0.8',
'mock',
'itsdangerous',
'pytz',
- 'six',
+ 'oauthlib==0.5.0',
+ 'unidecode',
+ 'ExifRead',
+
+ # PLEASE change this when we can; a dependency is forcing us to set this
+ # specific number and it is breaking setup.py develop
+ 'six==1.5.2'
+
+ ## Annoying. Please remove once we can! We only indirectly
+ ## use pbr, and currently it breaks things, presumably till
+ ## their next release.
+ # 'pbr==0.5.22',
+
## This is optional!
# 'translitcodec',
## For now we're expecting that users will install this from
"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)