我有一个我想运行的Iron Python脚本,然后让ipy解释器输出一个我可以在其他机器上运行的程序集。我怎么做?我可以传递给ipy.exe吗?
答案 0 :(得分:9)
一种方法是使用SharpDevelop,它可以轻松地构建程序集(可执行文件和类库)。
这个过程很简单:
.exe和.dll文件将位于相关的构建输出目录(Debug或Release)中。
另一种方法是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或更高版本中修复它