Python Addins have a terrible, awful, no good debugging process.
Code > Build > Initialize Client App > Install > Test > Repeat.
Honestly, it wouldn't be so bad if ArcMap didn't take so long to initialize that I could grow a beard while waiting for it to get a license and load a blank document. Python Addins need a process to reload the addin module, and by reload I mean completely, including the config.xml and image files from the assembly cache.
If this were possible, we could change the debugging process to:
Code > Build > Reload > Test
Why would we not want to do that? Additionally, if we could manipulate the config.xml and reload, that would bring new functionality to the table, including the ability to create semi-dynamic GUIs that could change based on a set of conditions, such as changing the image asset used for a button based on a specific condition.