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



我创建了一个IronPython脚本,该脚本从Python库(如ossys等)以及.NET库导入。

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

我该怎么做?

要求:

  • C:Program Files (x86)IronPython 2.7.1中的ipy.exe
  • C:Program Files (x86)IronPython 2.7.1ToolsScripts中的pyc.py
  • MyProgram.py将是您的计划。

    1. 在项目文件夹(MyProgram.py所在的位置)中,创建一个名为"deploy"的文件夹
    2. 在命令提示符下运行cd deploy
    3. 运行"C:Program Files (x86)IronPython 2.7.1ipy.exe" "C:Program Files (x86)IronPython 2.7.1ToolsScriptspyc.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:没有模块…

要解决此问题,请将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文件夹并发货!

最新更新