我正在编写一个C#GUI应用程序,我希望使用numpy,我广泛使用了Python 2.7,它非常快速且易于编程。 (我仍然发现用C#工作的GUI比PyQt更容易使用)。如何部署通过IronPython调用numpy的C#应用程序
numpy和scipy的IronPython端口现在存在,我想了解如何使用它。
在开始之前,我想知道我有什么样的部署选项? 我可以完全包装python和numpy,还是必须在我的客户机器上安装python,Ironpython,numpy?
我正在编写一个C#GUI应用程序,我希望使用numpy,我广泛使用了Python 2.7,它非常快速且易于编程。 (我仍然发现用C#工作的GUI比PyQt更容易使用)。如何部署通过IronPython调用numpy的C#应用程序
numpy和scipy的IronPython端口现在存在,我想了解如何使用它。
在开始之前,我想知道我有什么样的部署选项? 我可以完全包装python和numpy,还是必须在我的客户机器上安装python,Ironpython,numpy?
您可以将Ironpython代码作为DLL或exe包装到.net程序集中。如果需要从加载其他.NET代码的代码,创建使用IronPython的脚本
import clr
clr.CompileModules(dllname, module1.py, module2.py,...)
然后加载组件与
Assembly dpma = Assembly.LoadFile(Path.GetFullPath("CompiledIronPythonModule.dll"));
pyEngine.Runtime.LoadAssembly(dpma);
(C#示例)的DLL。在VisualStudio中,您需要引用IronPython和项目中的dll。
我刚成功地用IronPython 2.7.5,Visual Studio 2012 .NET 4.0与英特尔Fortran Composer XE 2013(使用后者需要对scipy iron_setup.py文件进行一些更改)从头编译numpy和scipy-refactored。输出是一组DLL。我现在可以在IronPython命令行上导入这些模块。现在还没有工作的是如何将IronPython代码与numpy/scipy导入到.net程序集中。为此,我将检查ironpycompiler。
您使用的是哪种版本的Iron Python?什么CLR? – 2013-02-14 23:52:34
我仍然在使用我自己的数学(主要是4x4矩阵)数值部分。现在就使用C#(.Net 4.0)。由于我没有使用任何高级C#特性,因此我会灵活部署,因为它很容易部署。 – roadrunner66 2013-02-15 00:54:44
dlr已经安装了.net 4.所以你不必安装它。在这种情况下,通常只需转储IronPython程序集和自定义程序集即可。我不知道裸体 - 你必须与他们核对。 – 2013-02-15 00:57:32