gpt4 book ai didi

python - 从 IronPython 2.6 脚本构建 .exe 时找不到模块 "random"

转载 作者:行者123 更新时间:2023-11-28 17:54:26 25 4
gpt4 key购买 nike

我正在使用 SharpDevelop 从我的 IronPython 脚本构建一个可执行文件。唯一的障碍是我的脚本有一行随机导入当我通过 ipy.exe 运行脚本时它工作正常,但是当我尝试从 SharpDevelop 中的脚本构建和运行 exe 时,我总是收到消息:

IronPython.Runtime.Exceptions.ImportException: No module named random

为什么 SharpDevelop 的“看到”不是随机的?我怎样才能让它看到它?

最佳答案

当您使用 ipy.exe 运行 IronPython 脚本时,Python 标准库的路径通常由以下之一确定:

  1. IRONPYTHONPATH 环境变量。
  2. lib\site.py 中 ipy.exe 旁边的代码,将 Python 标准库的位置添加到路径中。

SharpDevelop 生成的 IronPython 可执行文件不会执行这些初始设置任务。因此,在导入随机库之前,您需要添加一些额外的启动代码。您可以通过以下几种方式执行此操作:

  1. 直接将 Python 标准库的位置添加到 sys.path。

    import sys
    sys.path.append(r'c:\python26\lib')
  2. 从 IRONPYTHONPATH 环境变量中获取 Python 标准库的位置。

    from System import Environment
    pythonPath = Environment.GetEnvironmentVariable("IRONPYTHONPATH")
    import sys
    sys.path.append(pythonPath)
  3. 从注册表中读取 Python 标准库的位置 (HKLM\Software\Python\PythonCore\2.6\PythonPath)。

  4. 从应用程序附带的单独配置文件中读取 Python 标准库的位置。

另一种选择是 compile the parts of the Python Standard Library your application needs into one or more .NET assemblies .这样您就不需要应用程序的最终用户安装 Python 标准库。

关于python - 从 IronPython 2.6 脚本构建 .exe 时找不到模块 "random",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2984561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com