gpt4 book ai didi

python - 在 C++ 中嵌入 Python : persistence of interpreter across execution

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

使用 Py_Initialize(),我们可以在 C++ 程序中启动 python 解释器。然而,由于该函数不返回任何内容,我们不能在不同的程序中使用相同的解释器。有没有办法在一个 C++ 程序中调用 Py_Initialize(),使解释器持久化并在不同的 C++ 程序中使用它(无需再次调用 Py_Initialize())?

编辑:更具体地说,有没有一种方法可以获取 python 解释器的实例并将其作为参数传递给另一个执行并使用它来运行 python 脚本。

最佳答案

没有。 CPython 解释器本身并不是那样工作的。没有明确的解释器对象,而是一组具有状态 API 的 float 全局变量。更糟糕的是,Python 代码可以加载任意其他库,这些库的状态绝对不能持久化(一般情况下)。

您可以做的是腌制现有变量。这有时可以让你接近某个地方。这实际上不是托管问题,而是 Python 问题。当然,您可以确保托管 Python 的 C 代码确保在“真正的”Python 代码执行完毕后执行序列化步骤。类似于 How can I save all the variables in the current python session?可能是一个起点。

关于python - 在 C++ 中嵌入 Python : persistence of interpreter across execution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42109708/

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