That's the thing though. You can't refer to the two functions separately because only one of them is ever actually defined. Everything in python is run-time and dynamic so if sys.version_info < (2, 7) trying to refer to f_update_old will throw an exception.

You can just remove the version check from your wrapper function and call update directly without checking python version.