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

Gez*_*zim 5 .net python windows ironpython ironpython-studio

我创建了一个IronPython的脚本,从Python库进口,如os,sys等以及.NET库.

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

我该怎么办?

Gez*_*zim 12

要求:

  • ipy.exeC:\Program Files (x86)\IronPython 2.7.1\
  • pyc.pyC:\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:没有模块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
Run Code Online (Sandbox Code Playgroud)

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

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

现在您可以压缩deploy文件夹并发送它!