我创建了一个 IronPython 脚本,该脚本从 Python 库(例如 、 等)以及 .NET 库中os
导入sys
。
它在我的 Visual Studio IronPython 解决方案中运行得非常好,但我需要部署它,以便其他没有安装 IronPython 或 Python 的人可以运行它。
我该怎么做?
我创建了一个 IronPython 脚本,该脚本从 Python 库(例如 、 等)以及 .NET 库中os
导入sys
。
它在我的 Visual Studio IronPython 解决方案中运行得非常好,但我需要部署它,以便其他没有安装 IronPython 或 Python 的人可以运行它。
我该怎么做?
要求:
ipy.exe
在C:\Program Files (x86)\IronPython 2.7.1\
pyc.py
在C:\Program Files (x86)\IronPython 2.7.1\Tools\Scripts\
MyProgram.py
将是你的程序。
MyProgram.py
),创建一个名为“deploy”的文件夹。cd deploy
。"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
...
要解决此问题,请将文件夹复制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
文件夹并发送它!