我想使用自定义的
sys.path
执行脚本,并允许它导入模块,但不要将这些模块缓存到内置的sys.modules
中,因为在多线程环境中会同时执行不同的脚本,所以我不想污染当前解释器的sys.path
和sys.modules
。因此,不同的脚本将同时运行,每个脚本都有不同的路径,导入不同的模块,但可能具有冲突的名称(这就是它们需要从不同路径运行的原因)。我认为给每个exec()提供一个不同的全局字典就足够了,但内置的sys模块实例实际上是共享的。您有什么想法可以实现吗?注意:我不需要完整的沙箱解决方案-我的脚本来自可信源,我只想同时运行它们。
PYTHONPATH
。 - Rufflewindmultiprocessing
。 - Rufflewind