部署IronPython脚本或静态构建应用程序

时间:2012-07-31 22:56:14

标签: .net python windows ironpython ironpython-studio

我创建了一个IronPython脚本,可以从Python库中导入,例如ossys等,以及.NET库。

它在我的Visual Studio IronPython解决方案中运行得非常好但是我需要部署它,以便其他没有安装IronPython或Python的人可以运行它。

我该怎么做?

1 个答案:

答案 0 :(得分:10)

要求:

    {li> ipy.exe C:\Program Files (x86)\IronPython 2.7.1\ {li> pyc.py C:\Program Files (x86)\IronPython 2.7.1\Tools\Scripts\
  • MyProgram.py将是您的计划。

    1. 在项目文件夹(MyProgram.py所在的位置)内,创建一个名为“deploy。”的文件夹。
    2. 在命令提示符下运行cd deploy
    3. 运行"C:\Program Files (x86)\IronPython 2.7.1\ipy.exe" "C:\Program Files (x86)\IronPython 2.7.1\Tools\Scripts\pyc.py" /main:..\MyProgram.py /target:exe

这将在deploy文件夹中为MyProgram生成一个dll和一个exe。

如果您尝试运行MyProgram.exe并导入os等库,则可能会获得No module named ...

因为,我正在使用os,我收到此错误:

如果您运行“MyProgram.exe”而您正在使用标准库,则可能会出现No module named...错误。

就我而言,我得到了:

  

未处理的异常:IronPython.Runtime.Exceptions.ImportException:No module na med os
  ...

要解决此问题,请将Lib文件夹从C:\Program Files (x86)\IronPython 2.7.1\复制到刚刚创建的deploy文件夹。然后,在导入抛出错误的库之前,请修改MyProgram.py,如下所示:

import sys
sys.path.append("Lib")

# Followed by library imports that were causing you trouble:
import os

最后一步,将以下文件从C:\Program Files (x86)\IronPython 2.7.1\复制到deploy文件夹:

- IronPython.dll
- IronPython.Modules.dll
- Microsoft.Dynamic.dll
- Microsoft.Scripting.dll

现在您可以压缩deploy文件夹然后发货了!