5

我正在编写一个 C# GUI 应用程序,我想在其中使用 numpy,我在 Python 2.7 下广泛使用过它,它非常快速且易于编程。(我仍然发现 C# 中的 GUI 工作比 PyQt 更容易使用。)

numpy 和 scipy 的 IronPython 端口现在存在,我想学习如何使用它。

在开始之前,我想知道我将拥有什么样的部署选项?我可以完全包装 python 和 numpy 还是必须在客户的机器上安装 python、Ironpython、numpy?

4

1 回答 1

2

您可以将 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、Visual Studio 2012 .NET 4.0 和 Intel Fortran Composer XE 2013 从头开始​​编译 numpy 和 scipy-refactored(使用后者需要对 scipy iron_setup.py 文件进行一些更改)。输出是一组 DLL。此时我可以在 IronPython 命令行上导入模块。还没有工作的是如何使用 numpy/scipy 导入到 .net 程序集中来烹饪 IronPython 代码。为此,我将检查ironpycompiler

于 2015-02-03T14:43:49.147 回答