5

我创建了一个 IronPython 脚本,该脚本从 Python 库(例如 、 等)以及 .NET 库中os导入sys

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

我该怎么做?

4

1 回答 1

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:没有模块名为 os
...

要解决此问题,请将文件夹复制LibC:\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文件夹并发送它!

于 2012-07-31T22:56:13.617 回答