我正在使用SharpDevelop从我的IronPython脚本构建可执行文件。唯一的障碍是我的脚本有线 随机导入 当我通过ipy.exe运行脚本时工作正常,但是当我尝试从SharpDevelop中的脚本构建并运行exe时,我总是收到消息:
IronPython.Runtime.Exceptions.ImportException: No module named random
为什么SharpDevelop'看不到'随机?我怎样才能看到它?
答案 0 :(得分:2)
使用ipy.exe运行IronPython脚本时,Python标准库的路径通常取决于以下之一:
SharpDevelop生成的IronPython可执行文件不会执行这些初始设置任务。因此,在导入随机库之前,您需要添加一些额外的启动代码。您可以通过以下几种方式执行此操作:
直接将Python标准库的位置添加到sys.path。
import sys
sys.path.append(r'c:\python26\lib')
从IRONPYTHONPATH环境变量中获取Python标准库的位置。
from System import Environment
pythonPath = Environment.GetEnvironmentVariable("IRONPYTHONPATH")
import sys
sys.path.append(pythonPath)
从注册表中读取Python标准库的位置(HKLM \ Software \ Python \ PythonCore \ 2.6 \ PythonPath)。
从您的应用程序附带的单独配置文件中读取Python标准库的位置。
另一种选择是compile the parts of the Python Standard Library your application needs into one or more .NET assemblies。这样,您就不需要应用程序的最终用户安装Python标准库。