Erro de inicialização do botão de opção Tkinter

Se eu colocar um botão de opção em uma função e desenhá-lo; Na primeira vez em que são desenhadas, você não pode passar o mouse sobre elas sem parecer que todas foram selecionadas.

O mesmo código de uma função não exibe esse comportamento.

from Tkinter import *

def App(master):
    v = StringVar()
    v.set('python') # initialize
    lable1 = Label(master, text=' hovering over below radio buttons will cause them to look like they are selected')
    lable1.pack()
    runtimeFrame = Frame(master, relief=GROOVE,  borderwidth = 3)
    runtimeFrame.pack(fill = X, pady = 5, padx = 5)
    for mode in ['java', 'python', 'jython']:
        b = Radiobutton(runtimeFrame, text=mode, variable=v, value=mode, indicatoron = 1 )
        b.pack(side = LEFT)


if __name__ == '__main__':
    master = Tk()

    App(master)

    #The following code chunk is the same as that in App()
    #------------------------
    v = StringVar()
    v.set('python') # initialize
    lable1 = Label(master, text=' hovering over below radio buttons will cause them to Not look selected as expected')
    lable1.pack()
    runtimeFrame = Frame(master, relief=GROOVE,  borderwidth = 3)
    runtimeFrame.pack(fill = X, pady = 5, padx = 5)
    for mode in ['java', 'python', 'jython']:
        b = Radiobutton(runtimeFrame, text=mode, variable=v, value=mode, indicatoron = 1 )
        b.pack(side = LEFT)
    #------------------------

    mainloop() 

Depois de fazer uma seleção, isso não acontece novamente. Estou fazendo algo errado? Existe uma solução alternativa, porque meu código precisa estar em uma função!

Este é o segundo bug elementar que encontrei no Tkinter. Existe algo melhor para o desenvolvimento da GUI do Python?

ps: eu estou usando python 2.7

questionAnswers(4)

yourAnswerToTheQuestion