多年来,我们一直使用IronPython作为一些.Net桌面应用程序中的脚本工具。客户一直在问我们什么时候会支持Python3,但是看起来IronPython3还有很长的路要走(https://github.com/IronLanguages/ironpython3)。我刚刚发现了一个名为Python.Net的库,我想知道这与IronPython有多相似,它是否是我们可以转移到的东西?
大多数Python.Net示例展示了如何在C#代码中使用.Net类型,而且我也找不到实际如何在C#中运行C#代码的好例子。页面末尾有一个标题为“嵌入Python”的部分(http://pythonnet.github.io/),但没有详细说明。
我想知道如何从文件或字符串运行脚本,脚本是否可以“编译”(如IronPython),是否可以像IronPython作用域一样来回传递“变量”?是否有任何限制或已知的问题?Python.Net是否允许运行引用库(如numpy )的脚本?(我们无法使用IronPython,我认为这是因为它包含了IP不支持的编译(.pyc)代码)。
有没有人有这两方面的经验,并能提供一些关于他们如何比较的洞察力?
发布于 2020-12-03 18:51:04
一个简短的总结:最初,Python.NET被设计成IronPython的替代器,所以大多数您想要的东西都可以通过主要的警告来实现:您还需要一个常规的Python解释器。
下面是更多的细节:
PythonEngine类具有Exec和Eval函数。PythonEngine (这只是Python解释器的一个表示)。PyScope类,它允许您控制一组变量。Python.NET与IronPython相比的问题是:
https://stackoverflow.com/questions/65124154
复制相似问题