Dependências do IronPython para scripts armazenados como seqüências de caracteres

Eu tenho um aplicativo c # que armazena arquivos de script python (* .py) como seqüências de caracteres. Carrego-os usando:

scriptEngine.CreateScriptSourceFromString(code);

Mas agora eu tenho vários arquivos de script com dependências entre eles (importações). Para lidar com dependências, eu poderia salvar todas as seqüências de volta em arquivos em uma pasta e carregar o script que eu quero executar usando:

scriptEngine.CreateScriptSourceFromFile(filePath);

mas isso tornaria todos os arquivos de script visíveis. Existe uma maneira de conseguir isso na memória, para que os arquivos de script não sejam salvos primeiro no disco, mas carregados diretamente das strings?

TL; DR: Exemplo de como isso pode parecer:

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')

Meu aplicativo possui os scripts armazenados como seqüências de caracteres. 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.

Eu quero chamar script1.py sem precisar primeiro salvar os scripts em uma pasta. Nota: o código é apenas um exemplo simplificado do que tenho.

questionAnswers(2)

yourAnswerToTheQuestion