我正在编写一个C#GUI应用程序,我想使用numpy,我在Python 2.7中广泛使用了numpy,它非常快速且易于编程。 (我仍然发现使用C#的GUI工作比PyQt更容易使用。)
现在存在一个numpy和scipy的IronPython端口,我想学习如何使用它。
在开始之前,我想知道我将拥有哪种部署选项? 我可以完全包装python和numpy,还是我必须在客户的机器上安装python,Ironpython,numpy?
答案 0 :(得分:1)
您可以将Ironpython代码作为DLL或exe包装到.net程序集中。如果需要从其他.NET代码加载代码,请使用IronPython脚本创建DLL
import clr
clr.CompileModules(dllname, module1.py, module2.py,...)
然后用
加载该程序集Assembly dpma = Assembly.LoadFile(Path.GetFullPath("CompiledIronPythonModule.dll"));
pyEngine.Runtime.LoadAssembly(dpma);
(C#示例)。在VisualStudio中,您需要引用IronPython和项目中的dll。
我刚刚使用IronPython 2.7.5,使用英特尔Fortran Composer XE 2013的Visual Studio 2012 .NET 4.0从头开始编译numpy和scipy-refactored(使用后者需要对scipy iron_setup.py文件进行一些更改)。输出是一组DLL。我现在可以在IronPython命令行上导入模块。什么不起作用的是如何使用numpy / scipy导入到.net程序集中来烹饪IronPython代码。为此,我将检查ironpycompiler。