Report global name error

hello, i’m testing this report , i can do it as query builder but i’m trying it from python as well as a script report
when i navigate to this report i get this error message
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/selling/report/sales_report/sales_report.py”, line 14, in get_columns
“”“return columns”""
NameError: global name ‘_’ is not defined

that’s the report code
from future import unicode_literals
import frappe
from frappe import _

def execute(filters=None):
	columns = get_columns()
	sl_sales_entries = get_sales_entries(filters)
	data = []
	for sle in sl_sales_entries:
		data.append([ sle.sales, sle.cust, sle.date, sle.totalht, sle.vat, sle.totalttc ])
	return columns, data

def get_columns():
	"""return columns"""

	columns = [
	_("Sales Invoice")+":Link/Sales Invoice:120",
	_("Customer")+":Link/Customer:150",
	_("Date")+":Date:Date",
	_("Total HT")+":Link/Sales Incoice:120",
	_("VAT")+":Link/Sales Invoice",
	_("Total TTC")+":Link/Sales Invoice"
	]
	return columns


def get_sales_entries(filters):
	return frappe.db.sql("""
							(SELECT
	`tabSales Invoice`.`name` AS `name`,
	`tabSales Invoice`.`customer_name` AS `customer_name`,
	`tabSales Invoice`.`creation` AS `creation`,
	`tabSales Invoice`.`total` AS `total`,
	`tabSales Invoice`.`total_taxes_and_charges` AS `total_taxes_and_charges`,
	`tabSales Invoice`.`grand_total` AS `grand_total`
FROM
	`tabSales Invoice`)""")

but i don’t know what’s the problem cz i checked other query reports and i did the same
any help ?

in .py file put below line

from frappe import _

i already had that but wasn’t even working , when i was reloading the page somehow it wasn’t clearing the cache which was weird anyway now the report works fine

from __future__ import unicode_literals
import frappe
from frappe import _

def execute(filters=None):
	columns = get_columns()
	sl_sales_entries = get_sales_entries(filters)
	data = []
	for sle in sl_sales_entries:
		data.append([ sle.sales, sle.cust, sle.creation, sle.totalht, sle.vat, sle.totalttc ])
	return columns, data

def get_columns():
	"""return columns"""

	columns = [
	_("Sales Invoice")+":Link/Sales Invoice:120",
	_("Customer")+":Link/Customer:150",
	_("Date")+":Date:Date",
	_("Total HT")+":Float:140",
	_("VAT")+":Float:140",
	_("Total TTC")+":Float:140"
	]
	return columns

def get_sales_entries(filters):
	return frappe.db.sql("""
							(select
	`tabSales Invoice`.`name` AS `sales`,
	`tabSales Invoice`.`customer_name` AS `cust`,
	 STR_TO_DATE(`tabSales Invoice`.creation, '%%Y-%%m-%%d') as 'creation',
	`tabSales Invoice`.`total` AS `totalht`,
	`tabSales Invoice`.`total_taxes_and_charges` AS `vat`,
	`tabSales Invoice`.`grand_total` AS `totalttc`
FROM
	`tabSales Invoice`)"""\
	.format(sle_conditions=get_sle_conditions(filters)), filters, as_dict=1)

def get_sle_conditions(filters):
	conditions = []
	return "and {}".format(" and ".join(conditions)) if conditions else ""