【发布时间】:2013-04-24 16:12:49
【问题描述】:
我有一个 C++ 程序,它允许我运行 C++ 向其传递数据的 Python 脚本。如果 Python 脚本失败,C++ 程序会调用 PyRun_InteractiveLoop 以允许在交互式 shell 上调查问题。这没问题,但我认为“如果安装了 IPython 会很酷,我可以在这种情况下使用它”。
现在我的问题是:我在寻找“ipython 嵌入”时发现的只是如何将 IPython 嵌入到 Python 程序中的说明(其中包括 http://ipython.org/ipython-doc/dev/interactive/reference.html#embedding-ipython)。我试图在我拥有的嵌入式常规 python-shell 上重现这些,但它们中的大多数都以某种方式失败(通常是因为缺少 sys.argv .... 我可以解决这个问题)。
任何建议如何做到这一点?我的第一个计划是首先通过 C-API 导入 IPython(我已经介绍过)。如果失败,请使用“常规”外壳。否则通过 PyRun_InteractiveOneFlags
调用 IPython.embed() (或类似的)【问题讨论】: