diff --git a/sanic/response.py b/sanic/response.py index c36c0181..eb2d3e49 100644 --- a/sanic/response.py +++ b/sanic/response.py @@ -1,6 +1,9 @@ from mimetypes import guess_type from os import path -from ujson import dumps as json_dumps +try: + from ujson import dumps as json_dumps +except: + from json import dumps as json_dumps from aiofiles import open as open_async diff --git a/setup.py b/setup.py index 52e4a56e..f7b98bbf 100644 --- a/setup.py +++ b/setup.py @@ -15,33 +15,47 @@ with codecs.open(os.path.join(os.path.abspath(os.path.dirname( except IndexError: raise RuntimeError('Unable to determine version.') -install_requires = [ - 'httptools>=0.0.9', - 'ujson>=1.35', - 'aiofiles>=0.3.0', - 'websockets>=3.2', -] +setup_kwargs = { + 'name': 'sanic', + 'version': version, + 'url': 'http://github.com/channelcat/sanic/', + 'license': 'MIT', + 'author': 'Channel Cat', + 'author_email': 'channelcat@gmail.com', + 'description': ( + 'A microframework based on uvloop, httptools, and learnings of flask'), + 'packages': ['sanic'], + 'platforms': 'any', + 'classifiers': [ + 'Development Status :: 2 - Pre-Alpha', + 'Environment :: Web Environment', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + ], +} -if os.name != 'nt': - install_requires.append('uvloop>=0.5.3') - -setup( - name='sanic', - version=version, - url='http://github.com/channelcat/sanic/', - license='MIT', - author='Channel Cat', - author_email='channelcat@gmail.com', - description=( - 'A microframework based on uvloop, httptools, and learnings of flask'), - packages=['sanic'], - platforms='any', - install_requires=install_requires, - classifiers=[ - 'Development Status :: 2 - Pre-Alpha', - 'Environment :: Web Environment', - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - ], -) +try: + normal_requirements = [ + 'httptools>=0.0.9', + 'uvloop>=0.5.3', + 'ujson>=1.35', + 'aiofiles>=0.3.0', + 'websockets>=3.2', + ] + setup_kwargs['install_requires'] = normal_requirements + setup(**setup_kwargs) +except DistutilsPlatformError as exception: + windows_requirements = [ + 'httptools>=0.0.9', + 'aiofiles>=0.3.0', + 'websockets>=3.2', + ] + setup_kwargs['install_requires'] = windows_requirements + setup(**setup_kwargs) + # No exceptions occcured + print(u"\n\n\U0001F680 " + "Sanic version {} installation suceeded.\n".format(version)) +else: + print(u"\n\n\U0001F680 " + "Sanic version {} installation suceeded.\n".format(version))