Your variables start and date are of different type I guess. One is a datetime and one is a date. You may have to show more code in order to get decent help.
You can use the datetime.datetime.combine method to compare the date object to datetime object, then compare the converted object with the other datetime object.
I was receiving the above error while using pandas, however, because the date_column was the string I wasted a lot of time without realizing I was formatting the wrong thing:
# didnt work
df[(df.date_column > parse_datestr('2018-01-01'))]
# works
df['date_column'] = pd.to_datetime(df['date_column'])
df[(df.date_column > '2018-01-01') & (df.date_column < '2018-02-28')]