Modifique el método del módulo desde donde se utiliza la importación ...

Tengo un problema para anular el método en el que se utiliza desde ... la declaración de importación. Algunos ejemplos para ilustrar el problema:

# a.py module
def print_message(msg):
    print(msg)

# b.py module
from a import print_message
def execute():
    print_message("Hello")

# c.py module which will be executed
import b
b.execute()

Me gustaría anular el método print_message (msg) sin cambiar el código en un módulo o b. Lo he intentado de muchas maneras pero desde ... importa importando el método original. Cuando cambié el código a

import a
a.print_message

Que veo mi cambio.

¿Podrías sugerirme cómo resolver este problema?
Gracias de antemano por cualquier pequeño ejemplo.

Atentamente

------------------ Actualización ------------------
Traté de hacer eso como abajo, por ejemplo:

# c.py module
import b
import a
import sys
def new_print_message(msg):
    print("New content")
module = sys.modules["a"]
module.print_message = new_print_message
sys.module["a"] = module

Pero esto no funciona donde estoy usando para ... declaración de importación. Funciona solo para importar, pero como escribí, no quiero cambiar el código en los módulos b.py y a.py.

Respuestas a la pregunta(1)

Su respuesta a la pregunta