According document of 'What’s New In Python 3.7', 'async' are reserved keywords now.

Code in line 105 of 'odoo/addons/base/ir/ir_qweb/assetsbundle.py' 
`def to_html(self, sep=None, css=True, js=True, debug=False, async=False, url_for=(lambda url: url)):`
will throw SyntaxError out if we launch odoo with this update python.
odoo/addons/base/ir/ir_qweb/assetsbundle.py
if self._content is None:
            self._content = self.inline or self._fetch_content()
        return self._content
    def _fetch_content(self):
        """ Fetch content from file or database"""
        try:
            self.stat()
            if self._filename:
                with open(self._filename, 'rb') as fp:
                    return fp.read().decode('utf-8')
            else:
                return base64.b64decode(self._ir_attach['datas']).decode('utf-8')
        except UnicodeDecodeError:
            raise AssetError('%s is not utf-8 encoded.' % self.name)
        except IOError:
            raise AssetNotFound('File %s does not exist.' % self.name)
        except:
            raise AssetError('Could not get content for %s.' % self.name)
    def minify(self):
        return self.content
    def with_header(self, content=None):
        if content is None:
            content = self.content
        return '\n/* %s */\n%s' % (self.name, content)
class JavascriptAsset(WebAsset):
    def minify(self):
        return self.with_header(rjsmin(self.content))
    def _fetch_content(self):