Some system info before proceeding further:

Platform: Mac OS X 10.7.1
Python Version: ActiveState Python 2.7.1
wxPython Version: wxPython2.9-osx-cocoa-py2.7

I want the button label to be changed while performing a task

So, here is what I did/want:

self.Bind(wx.EVT_BUTTON, self.OnRun,id=ID_RUN_BUTTON)

def OnRun(self,evt):
	#call a function that does the installation task
	#After task completion, set the button label back to "Install"

When I try doing this, it doesn't set the label to "Installing" while the task is being performed. Any suggestions how do I achieve this?

If installation_task() is a function that terminates fast, you will probably not see the label change, because it's very fast.