Я строю функцию во время выполнения с помощью byteplay.py.Когда я закончу с созданием байт-кодов, я беру объект кода и создаю новую функцию, подобную этой:
module = new.module("foomodule")
fn = new.function(c.to_code(), {}, name.name)
setattr(module, "fn", fn)
Теперь это может сработать, я могу вызвать module.foo (), и это работаеткак и ожидалось.Однако, если fn пытается вызвать глобальную функцию, вызов завершается неудачно, поскольку мой список глобальных переменных, переданных в new.function, пуст {}.
Проблема в том, что я хочу, чтобы список глобальных переменных всегда ссылался намодуль.Так как мне это сделать?Как передать модуль в new.function?