如何查看IronPython脚本生成的异常?

基思

我正在尝试将IronPython嵌入Unity 3D项目中,但遇到了一些似乎无法弄清的错误。

我将以下脚本附加到Unity中的GameObject。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using IronPython;
using IronPython.Modules;
using System.Text;

public class IronPythonWrapper : MonoBehaviour {

    void Start() {
        ScriptTest();
    }

    public static void ScriptTest() {
        // create the engine
        var engine = IronPython.Hosting.Python.CreateEngine();

        // and the scope (i.e. the Python namespace)
        var scope = engine.CreateScope();

        // execute the Python script
        engine.ExecuteFile("Assets/Scripts/ipscript.py");

        // grab the variable from the Python scope
        string commands = scope.GetVariable<string>("commands");
        Debug.Log(commands);
    }
}

目标是让上面实例化的IronPython引擎执行以下名为的简单Python脚本ipscript.py

commands = "Script executed."

当我进入播放模式(在Unity中)时,出现以下错误。

MissingMemberException: 'ScopeStorage' object has no attribute 'commands'

有谁知道我应该调查什么以解决此问题?也许我需要实现一些错误捕获,以便我可以看到IronPython在执行Python脚本时生成的任何异常?

西蒙·欧佩尔特

您的python执行未正确传递范围。commands因此,您的变量是在执行python文件后被丢弃的瞬时作用域上创建的,而显式创建的作用域不知道是什么commands

该代码段应显示为

engine.ExecuteFile("Assets/Scripts/ipscript.py", scope);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用脚本生成pdf文件而不是ps文件?

如何为SAHI脚本生成Javadoc样式文档?

如何使用awk脚本生成文件

如何从Windows cmd脚本生成独立的sub-cmds?

如何通过python脚本生成vCard文件?

如何使用Gradle脚本生成findbugs报告?

如何从OpenSSL中的perl脚本生成程序集文件

如何从PowerShell脚本生成综合日志文件

如何在 REST 请求中使用脚本生成的 UUID

网络解析| 如何获取脚本生成的数据

如何获取脚本生成的所有子进程的列表

从 bash 脚本生成并运行 perl 脚本

如何在SQL Server中创建“脚本生成器选项”脚本?

如何将参数传递给另一个脚本生成的脚本

如何执行多个 Jmeter 脚本并为这些脚本生成 html 报告

简化从bash脚本生成的where子句

使用Java脚本生成CSV

通过Google App脚本生成PDF

无法弄清楚如何更改PowerShell脚本生成的XML节点值

如何使用脚本生成的突出显示输出打印pdf文件?

如何避免Pip在可编辑模式下安装的脚本生成“ ResourceWarning:未关闭的文件”消息?

如何限制由脚本生成的日志文件的大小在启动时运行

如何使用作业按脚本生成来管理任务

如何从 Jenkins Pipeline 中的不同 python 脚本生成 html 报告

如何杀死我的 bash 脚本生成的所有子进程?

Excel –使用VB脚本生成Word文档

从由外部脚本生成的元素中删除DOM元素

RUN sh 脚本生成的 Dockerfile COPY 文件

使用bash脚本生成边界变化的字符串