我想在我的.NET应用程序中嵌入一个Python解释器。当然,我知道IronPython,但我对PyPy特别感兴趣,因为它的堆栈支持和微线程。
然而,虽然可以使用命令行界面构建PyPy,但它看起来只是为您提供了一个类似于python.exe的独立Python解释器。我还找不到任何文档来构建可以真正嵌入到.NET主机应用程序中的内容。
有没有一种方法可以使用(无栈) PyPy从.NET应用程序运行Python脚本,并允许这些脚本与宿主应用程序提供的CLR对象进行交互?
发布于 2011-05-24 01:17:56
PyPy的CLI后端不如C后端成熟,也不能很好地与.NET库集成。虽然编译成C的普通PyPy是生产就绪的,但我不认为.NET版本是生产就绪的。它还缺少JIT (尽管在这方面已经做了一些工作)和微线程。除非有人介入,否则IronPython似乎是目前唯一可行的选择。
发布于 2011-05-22 14:47:05
不,没有。CPython能够使用github维护的Python for .NET (参见http://pythonnet.github.io/)访问.NET库,但是除了IronPython之外,从来没有一种方法可以真正将Python解释器嵌入到.NET应用程序中。这是它的主要卖点之一。
另外,当涉及到递归时,IronPython (默认情况下)比CPython具有更小的堆栈大小。也就是说,您必须将"-X:FullFrames“命令行选项传递给ipy.exe以启用CPython-esque堆栈帧。我知道这没有PyPy...but好,它可能会有帮助:)
https://stackoverflow.com/questions/6084697
复制相似问题