我有一个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(我得到了覆盖)。如果失败则使用“常规”shell。否则通过 PyRun_InteractiveOneFlags
调用IPython.embed()(或类似的)答案 0 :(得分:0)
您是否考虑过使用python debugger
>>> import pdb
>>> import yourmodule
>>> pdb.run('yourmodule.test()')