每隔几个月我会在谷歌上搜索“从.NET调用Python”,当我太疲倦以至于不想重复造轮子或移植代码时,我会找到一些很棒的Python代码。两种流行的解决方案是启动外部进程或使用IronPython。
对我来说,IronPython不是一个选择,因为我想使用Python的原因通常是依赖于NumPy/ScyPy的一些库。
最近,我开始学习C++的基础知识,并发现可以将Python嵌入到C++中,并找到了一篇带有示例文章。
通过P/Invoke从.NET调用C++非常容易。因此,我的场景是使用.NET从Python脚本中调用数据并获取结果。
在深入挖掘之前,我想问问是否有人尝试过这种方法,这可行还是有更好的方法?
具体来说,
对我来说,IronPython不是一个选择,因为我想使用Python的原因通常是依赖于NumPy/ScyPy的一些库。
最近,我开始学习C++的基础知识,并发现可以将Python嵌入到C++中,并找到了一篇带有示例文章。
通过P/Invoke从.NET调用C++非常容易。因此,我的场景是使用.NET从Python脚本中调用数据并获取结果。
在深入挖掘之前,我想问问是否有人尝试过这种方法,这可行还是有更好的方法?
具体来说,
- 所有Python库(例如NumPy、ScyPy、Pandas、PyMC等)在嵌入式环境中都能正常工作吗?
- 嵌入式Python是否与C++ / CLI以同样的方式工作,就像标准C++一样?
- 如何将复杂数据传递给Python:序列化为JSON或类型之间存在映射关系?
性能是一个问题:主要用例是对实时数据的滑动窗口进行一些数字处理。我认为外部进程在频繁调用时非常缓慢 - 如果我错了,请纠正我?