从Iron Python生成.NET程序集

时间:2010-03-13 04:53:41

标签: .net assemblies ironpython

我有一个我想运行的Iron Python脚本,然后让ipy解释器输出一个我可以在其他机器上运行的程序集。我怎么做?我可以传递给ipy.exe吗?

3 个答案:

答案 0 :(得分:9)

使用SharpDevelop

一种方法是使用SharpDevelop,它可以轻松地构建程序集(可执行文件和类库)。

这个过程很简单:

  • 创建Python解决方案(选项包括:类库,控制台或Windows应用程序)
  • 正常编写您的Python代码
  • 构建您的解决方案或项目

.exe和.dll文件将位于相关的构建输出目录(Debug或Release)中。


使用pyc.py

另一种方法是IronPython命令行编译器脚本,名为 pyc.py。

编译器脚本可以在以下目录中找到: [IP_install_dir]\Tools\Scripts

用法:
ipy.exe pyc.py /main:Program.py Form.py /target:winexe


注意:要使编译的exe运行,您需要在与可执行文件相同的目录中包含以下文件:

IronPython.dll
IronPython.Modules.dll
Microsoft.Dynamic.dll
Microsoft.Scripting.Core.dll
Microsoft.Scripting.Debugging.dll
Microsoft.Scripting.dll
Microsoft.Scripting.ExtensionAttribute.dll

答案 1 :(得分:8)

IronPython附带了一个名为Pyc或Python命令行编译器的工具。如果您安装了最新版本的IronPython 2.6,那么pyc.py将在C:\Program Files (x86)\IronPython 2.6\Tools\Scripts或您系统上安装IronPython的任何位置提供pyc.py。如果您有早期版本的IronPython,那么pyc.py将在样本包中单独下载。

使用ipy pyc.py /out:myprogram.exe /main:mainfile.py /target:exe program.py support.py ,您可以从python脚本创建控制台或Windows程序集。基本用法如下:

myprogram.exe

上面将生成一个名为mainfile.py(/ out)的程序集,它是一个控制台应用程序(/ target),它将首先执行program.py中的代码(/ main),并且还包含来自

中的support.py和{{1}}。

答案 2 :(得分:5)

您也可以使用

进行编译
import clr
clr.CompileModules("foo.dll","foo.py")

对于asp.net,如果你使用pyc.py进行编译,你将无法导入模块。他们希望在2.6.2或更高版本中修复它