Dependencias de IronPython para scripts almacenados como cadenas

Tengo una aplicación C # que almacena archivos de script de Python (* .py) como cadenas. Los cargo usando:

scriptEngine.CreateScriptSourceFromString(code);

Pero ahora tengo varios archivos de script con dependencias entre ellos (importaciones). Para manejar las dependencias, podría guardar todas las cadenas de nuevo en archivos en una carpeta y cargar el script que quiero ejecutar usando:

scriptEngine.CreateScriptSourceFromFile(filePath);

pero esto haría visibles todos los archivos de script. ¿Hay alguna manera de lograr esto en la memoria, de modo que los archivos de script no se guarden primero en el disco sino que se carguen directamente de las cadenas?

TL; DR: Ejemplo de cómo se vería esto:

myutils.py:

def SomeMethod(p):
    print ('SomeMethod(p=%s)' % p)

script1.py:

import myutils;

if __name__ == '__main__':
    myutils.SomeMethod('script1')

script2.py:

import myutils;

if __name__ == '__main__':
    myutils.SomeMethod('script2')

Mi aplicación tiene los scripts almacenados como cadenas. algo como

Dictionary<string, string> filePathToContent = new Dictionary<string, string>();

filePathToContent["myutils.py"] = "..."; // The script file content.
filePathToContent["script1.py"] = "..."; // The script file content.
filePathToContent["script2.py"] = "..."; // The script file content.

Quiero llamar a script1.py sin tener que guardar primero los scripts en una carpeta. Nota: el código es solo un ejemplo simplificado de lo que tengo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta