Csharp/C#教程:找不到IronPython sys._getframe分享


找不到IronPython sys._getframe

我目前正在C#中构建一个程序,它将调用提供的python脚本文件中的函数。
其中一些脚本文件在sys调用_getframe() ,这会导致错误:

System.MissingMemberException:’module’对象没有属性’_getframe’

(由于IronPython默认没有激活_getframe 。)

我做了很多谷歌搜索,发现你可以通过提供-X:Frames作为命令行选项在ipy.exe激活它,但是这不能解决我的问题,因为我不是直接使用ipy.exe执行python代码。

在这个post中,他们提到使用命令行选项从源代码重建IronPython,我下载了源文件,但不知道如何使用这些选项构建它。
他们还提到选项是在官方安装程序中,我已经多次运行安装程序exe但没有看到那些选项的一瞥。

在创建PythonEngine时,您可以传递选项字典; 你只需要将字典中的“Frames”和/或“FullFrames”键设置为true

 var options = new Dictionary(); options["Frames"] = true; options["FullFrames"] = true; ScriptEngine engine = Python.CreateEngine(options); 

如果您不想要FullFrame,请将其保留或将其设置为false

有点超出问题的范围,但意味着通过直接使用ipy.exe解释器调用Python脚本来获取此错误。

您只需添加参数-X:FullFrames 。 所以例如调用脚本就好

上述就是C#学习教程:找不到IronPython sys._getframe分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 ipy.exe -X:FullFrames script.py 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1025600.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

精彩推荐