0

我将 IronPython 嵌入到我的应用程序中。一切正常,但我发现当我使用CreateScriptSourceFromFile执行文件时,IronPython 似乎缓存了其他导入的模块。

例如我有另一个文件foo.py

foo = 'foo'

我使用 IronPython 托管 API 来执行bar.py

from foo import foo
print foo

如果我在bar.py不退出主机应用程序的情况下对 then 进行更改,我可以看到我所做的更改生效。但是,如果我进行编辑foo.py,那么我必须重新启动我的应用程序才能看到更改。我已经Debug在选项中启用了,但它没有帮助。

请指教。非常感谢。

4

1 回答 1

2

是的,导入的模块由 ScriptEngine 实例缓存。如果要自动重新加载缓存的模块,则必须创建一个新的引擎实例。目前没有办法禁用它并总是重新加载模块。

禁用缓存行为的选项不是一个坏主意。打开一个问题,以便它在雷达上。当然,补丁更好。

于 2012-07-24T16:34:11.947 回答