Q:

Does anyone know why python dateutil parser is telling me it contains invalid syntax? It worked last night, will not work anymore

 from dateutil import parser as _date_parser
  File "C:\Program Files (x86)\Python36-32\lib\site-packages\dateutil\parser.py", line 158
    l.append("%s=%s" % (attr, `value`))
                              ^
SyntaxError: invalid syntax

My code was no different last night when I ran it. Had no problems then, but now I'm getting this SyntaxError from the dateutil parser. Here's the code from the parser itself:
def _repr(self, classname):
    l = []
    for attr in self.__slots__:
    value = getattr(self, attr)
    if value is not None:
        l.append("%s=%s" % (attr, `value`))
    return "%s(%s)" % (classname, ", ".join(l))

A:

Last night you used Python 2. Today you used Python 3.
In Python 2 backticks were used as a shortcut to repr. In Python 3 this alias is not used anymore and using it raises a syntax error.
Change 
l.append("%s=%s" % (attr, `value`))

to either l.append("%s=%s" % (attr, value)) or l.append("%s=%s" % (attr, repr(value)))
EDIT I just noticed that this code is in dateutil itself. It seems like you somehow managed to install the Python 2 version to the Python 3 path.

