我正在开发一个项目,我需要能够运行依赖于SciPy / NumPy的python函数。由于这是正在进行的项目的附加组件,因此使用IronPython不是一种选择。
其他信息:
我无所适从。任何正确方向的提示都值得赞赏。感谢您提供任何帮助!
我知道这可能很模糊,但我无法向项目提供明确的细节。如果需要澄清,请告诉我,我会尽力而为!
答案 0 :(得分:2)
我猜你可以编写一个使用CPython API来暴露函数的DLL,然后在C#中调用它? 嵌入Python解释器是可能的;虽然我从未亲自做过这件事,但我想这会很有用:http://docs.python.org/extending/embedding.html
答案 1 :(得分:1)
它是否需要在Windows之外移植?如果没有,也许您可以使用C ++ / CLI嵌入CPython解释器,将其包装在一个漂亮的.Net-ish接口中,并使用C#生成的代码。从来没有尝试过,所以我不知道它是否会起作用。
无论你是通过这条路线还是'编写本机DLL'路线,使用Boost.Python嵌入python可能会更容易,但我不确定你的封装代码是否足够足够大,可以完成所有这些(编译Boost庞然大物,学习Boost.Python,确保它适用于C ++ / CLR,增加目标文件大小)是值得的。
答案 2 :(得分:1)
IronPython using DLR可能是要走的路。请注意,它不会是最快的方式,但如果你要做很多事情,它似乎值得追求。 Another useful link
答案 3 :(得分:0)
ironclad项目开始允许使用IronPython的CPython扩展,特别是SciPy / NumPy。我不知道它有多可用(以及它的开发程度如何)