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',
- 'beaker',
- 'routes',
- 'webob<=1.2a2,>=1.1',
'wtforms',
'py-bcrypt',
- 'nose',
- 'werkzeug',
- 'celery',
+ 'pytest>=2.3.1',
+ 'pytest-xdist',
+ 'werkzeug>=0.7',
+ 'celery>=3.0',
+ 'kombu',
'jinja2',
'sphinx',
- 'Babel',
- 'translitcodec',
+ 'Babel<1.0',
'argparse',
- 'webtest',
+ 'webtest<2',
'ConfigObj',
'Markdown',
- 'sqlalchemy>=0.7.0',
+ 'sqlalchemy>=0.8.0',
'sqlalchemy-migrate',
+ 'mock',
+ 'itsdangerous',
+ 'pytz',
+ 'six',
+ 'oauthlib==0.5.0',
+ ## This is optional!
+ # 'translitcodec',
## For now we're expecting that users will install this from
## their package managers.
# 'lxml',
classifiers=[
"Development Status :: 3 - Alpha",
"Environment :: Web Environment",
- "License :: OSI Approved :: GNU Affero General Public License",
+ "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Operating System :: OS Independent",
"Programming Language :: Python",
'Programming Language :: Python :: 2.6',
"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)