Ваша ошибка не имеет ничего общего с уже определена ... Переменная действительна только внутри ее так называемой области действия: если вы создаете переменную в функции, она определяется только в этой функции.
def test():
x=17
print(x) # returns 17
test()
print(x) # results in an error.