Jak skompilować ciąg kodu Pythona do modułu, którego funkcje można wywołać?

W Pythonie mam ciąg jakiegoś kodu źródłowego Pythona zawierający funkcje takie jak:

mySrc = '''
def foo():
    print("foo")

def bar():
    print("bar")
'''

Chciałbym skompilować ten ciąg na coś w rodzajuobiekt podobny do modułu więc mogę wywołać funkcje zawarte w kodzie.

Oto pseudo-kod tego, co chciałbym zrobić:

myMod = myCompile(mySrc)
myMod.foo()

Czy to możliwe w Pythonie? Próbowałem tego, ale to nie działa:

myMod = compile(mySrc, '', 'exec')
myMod.foo()

Daje to następujący komunikat o błędzie:

<code object <module> at 0x104154730, file "", line 1>Traceback (most recent call last):
  File "myfile.py", line XX, in run
    myMod.foo()
AttributeError: 'code' object has no attribute 'foo'

questionAnswers(2)

yourAnswerToTheQuestion