gpt4 book ai didi

python - 以编程方式启动 python 虚拟机并与之交互

转载 作者:行者123 更新时间:2023-11-28 17:41:17 24 4
gpt4 key购买 nike

有谁知道如何从 python 脚本内部启动新的 python 虚拟机,然后与其交互以在完全独立的对象空间中执行代码?除了代码执行,我还希望能够访问这个虚拟机上的对象和命名空间,查看异常信息等。

我正在寻找类似于 python 的 InteractiveInterpreter 的东西(在 code 模块中),但据我所知,即使你提供一个单独的 namespace 供解释器运行(通过 locals 参数),它仍然与启动它的脚本共享相同的 object space .例如,如果我从 InteractiveInterpreter 内部更改 sys 模块的属性,该更改也会影响脚本。我想完全隔离这两者,就像我在同一台机器上运行两个不同的 python 解释器实例来运行两个不同的脚本一样。

我知道我可以使用 subprocess 在一个单独的进程中实际启动 python,但我还没有找到任何好的方式来按照我想要的方式与它交互。我想我可能可以用“-i”调用它并通过它的标准输入流将代码推送给它,但我认为我根本无法访问它的对象。

最佳答案

如果你用子进程启动一个新的 Python 实例,之后你可以通过套接字进行通信:为了避免做低级的事情,你可以看看扭曲的框架,也可以看看 Pyro http://pythonhosted.org/Pyro4/ .我个人觉得 Pyro 更容易上手。

关于python - 以编程方式启动 python 虚拟机并与之交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23807459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com