¿Cómo hacer un módulo Python incrustado para la ejecución remota de un sandbox?

Estoy tratando de agregar dinámicamente el código de Python a un módulo de sandbox para ejecutar en una máquina remota. Estoy experimentando un problema con cómo tratar con los métodos importados. Por ejemplo, es común ver scripts escritos como:

<code> from test_module import g
 import other_module

 def f():
     g()
     other_module.z()
</code>

Sé que puedo decapar f con g y potencialmente z, pero ¿cómo puedo preservar el alcance de "otro_módulo" para z? Si pongo tanto f como g en el sandbox, entonces z no se resolverá correctamente cuando se llame a f. ¿Es posible usar algún tipo de módulo incorporado para resolver z correctamente, es decir, sandbox.other_module?

Mi propósito para cargar código remoto en una caja de arena es no contaminar el espacio de nombres global. Por ejemplo, si se invoca otro método remoto con su propio gráfico de dependencia, entonces no debería interferir con otro conjunto de código remoto. ¿Es realista esperar que Python sea estable con los módulos de sandbox que entran y salen de uso? Lo digo por este post:¿Cómo descargo (recargo) un módulo de Python? lo que me hace sentir que puede ser problemático eliminar módulos como diferentes entornos limitados en este caso.

Respuestas a la pregunta(3)

Su respuesta a la pregunta