我试图在我的.net核心应用程序中集成python代码,用于数据分析和一些机器学习分类。我怎么能以最好的方式做到这一点?
注意:我不想用IronPython执行脚本。我之前已经尝试过了。
如果IronPython不是一个很好的匹配,Python for .Net可能适合你。它将CPython运行时(以及任何Python库,包括在CPython下运行的本机库)集成到.Net过程中。 .Net对象可以调用Python对象,反之亦然,没有太多麻烦。我用它将Python和C#编码工具集成在一个WPF UI后面。
我曾经做过类似的事情(但在vb.net中)。我使用系统调用来调用我的python脚本。
Process.Start("py_script.py");
如果您需要将数据从python脚本返回/返回到.NET程序....在我的实际Python脚本中,我将数据(需要返回到我的.net应用程序)写入文本文件。然后在我的.net代码中,我读取文件以检索数据。可能还有其他方法,但这个解决方案对我有用。执行Python脚本后,不要忘记编写删除/清理文本文件的代码。
我会在其他答案中提到使用Ironpython ...但是我需要的python模块不能通过Ironpython获得。也许这已经改变了......不确定。但这对我来说是一个很大的问题。