从Iron Python生成.NET程序集

从Iron Python生成.NET程序集,.net,assemblies,ironpython,.net,Assemblies,Ironpython,我有一个想要运行的Iron Python脚本,然后让ipy解释器输出一个可以在其他机器上运行的程序集。我该怎么做?是否有可以传递到ipy.exe的开关?使用SharpDevelop 一种方法是使用,它可以轻松地构建程序集(可执行文件和类库) 这个过程很简单: 创建Python解决方案(选项包括:类库、控制台或Windows应用程序) 像平常一样编写Python代码 构建您的解决方案或项目 .exe和.dll文件将位于相关的生成输出目录(调试或发布)中 使用pyc.py 另一种方法是调用名为

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

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

这个过程很简单:

  • 创建Python解决方案(选项包括:类库、控制台或Windows应用程序)
  • 像平常一样编写Python代码
  • 构建您的解决方案或项目
.exe和.dll文件将位于相关的生成输出目录(调试或发布)中


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

编译器脚本可在以下目录中找到:
[IP\u安装\u目录]\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

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

使用
pyc.py
可以从python脚本创建控制台或Windows程序集。基本用法如下所示:

ipy pyc.py /out:myprogram.exe /main:mainfile.py /target:exe program.py support.py

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

您也可以使用

import clr
clr.CompileModules("foo.dll","foo.py")

对于asp.net,如果使用pyc.py进行编译,则无法导入模块。他们希望在11年后的2.6.2或更高版本中解决此问题。我收到一个“系统找不到指定的文件”错误。我通过从命令行中删除“/out:myprogram.exe”进行了修复。这将导致ipyc.exe使用默认的输出文件名main.exe。