roa*_*r66 5 c# python ironpython numpy
我正在编写一个 C# GUI 应用程序,我想在其中使用 numpy,我在 Python 2.7 下广泛使用了它,并且它非常快速且易于编程。(我仍然发现 C# 中的 GUI 工作比 PyQt 更容易使用。)
现在有一个 numpy 和 scipy 的 IronPython 端口,我想学习如何使用它。
在开始之前,我想知道我将拥有哪些类型的部署选项?我可以完全包装 python 和 numpy 还是必须在我客户的机器上安装 python、Ironpython、numpy?
您可以将 Ironpython 代码作为 DLL 或 exe 包装到 .net 程序集。如果您需要从其他 .NET 代码加载代码,请使用 IronPython 脚本创建 DLL
import clr
clr.CompileModules(dllname, module1.py, module2.py,...)
Run Code Online (Sandbox Code Playgroud)
然后加载该程序集
Assembly dpma = Assembly.LoadFile(Path.GetFullPath("CompiledIronPythonModule.dll"));
pyEngine.Runtime.LoadAssembly(dpma);
Run Code Online (Sandbox Code Playgroud)
(C# 示例)。在 VisualStudio 中,您需要引用 IronPython 和项目中的 dll。
我刚刚使用 IronPython 2.7.5、Visual Studio 2012 .NET 4.0 和 Intel Fortran Composer XE 2013 成功地从头开始编译 numpy 和 scipy 重构(使用后者需要对 scipy iron_setup.py 文件进行一些更改)。输出是一组 DLL。此时我可以在 IronPython 命令行上导入模块。目前还没有解决的是如何通过将 numpy/scipy 导入到 .net 程序集中来编写 IronPython 代码。为此,我将检查ironpycompiler。