Tkinter error de inicialización del botón de radio

Si pongo un botón de radio en una función y los dibujo; la primera vez que se dibujan, no puede pasar el cursor sobre ellos sin hacer que parezcan todos seleccionados.

El mismo código de una función no exhibe este comportamiento.

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() 

Una vez que haya hecho una selección, esto no volverá a suceder. ¿Estoy haciendo algo mal? ¿Hay alguna solución, porque mi código tiene que estar en una función!

Este es el segundo error elemental que encontré en Tkinter. ¿Hay algo mejor para el desarrollo de la GUI de Python?

ps: estoy usando Python 2.7

Respuestas a la pregunta(4)

Su respuesta a la pregunta