我们正在编写一个C应用程序,允许人们加载python模块并调用其中的函数。当用户通过用户界面操作请求运行(一次)时,将调用该函数。 Python解释器嵌入在应用程序内部,以避免进程间通信的数据通信成本。
解释器中加载的模块可以由用户在外部进行修改,当用户请求下次运行模块时,应用程序应该重新加载模块。
鉴于python模块重载API没有重新加载依赖子模块,我们实现这一目标的唯一方法是卸载模块。为此,我们使用描述为here的 RollbackImporter 。
以这种方式从嵌入式Python解释器卸载和重装模块是否安全?