我想在我的.NET应用程序中嵌入一个Python解释器。当然,我知道IronPython,但我对PyPy特别感兴趣,因为它支持无堆栈和微线程。
然而,虽然PyPy可以针对CLI构建,但它看起来只是给你一个独立的Python解释器和python.exe。我无法找到任何可以构建实际嵌入.NET主机应用程序内容的文档。
有没有办法使用(无堆栈)PyPy从.NET应用程序运行Python脚本,并允许这些脚本与主机应用程序提供的CLR对象进行交互?
答案 0 :(得分:5)
答案 1 :(得分:3)
不,没有。 CPython能够使用在github上维护的Python for .NET(参见http://pythonnet.github.io/)来访问.NET库,但除了IronPython之外,从来没有一种方法可以将Python解释器实际嵌入到.NET应用程序中。这是它的主要卖点之一。
在相关的说明中,IronPython(默认情况下)在递归方面的堆栈大小小于CPython。也就是说,您必须将“-X:FullFrames”命令行选项传递给ipy.exe以启用CPython-esque堆栈帧。知道这不如PyPy ......但它可能会有所帮助:)。