Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IronPython系统。\u找不到getframe_C#_.net_Ironpython - Fatal编程技术网

C# IronPython系统。\u找不到getframe

C# IronPython系统。\u找不到getframe,c#,.net,ironpython,C#,.net,Ironpython,我目前正在用C语言构建一个程序,它将调用提供的python脚本文件中的函数。 其中一些脚本文件在sys中调用\u getframe(),从而导致错误: System.MissingMemberException:“模块”对象没有属性 “\u getframe” (因为IronPython在默认情况下没有激活\u getframe。) 我在谷歌上搜索了很多次,发现通过提供-X:Frames作为命令行选项,可以在ipy.exe中激活它,但是这并不能解决我的问题,因为我没有直接使用ipy.exe来执行

我目前正在用C语言构建一个程序,它将调用提供的python脚本文件中的函数。
其中一些脚本文件在
sys
中调用
\u getframe()
,从而导致错误:

System.MissingMemberException:“模块”对象没有属性 “\u getframe”

(因为IronPython在默认情况下没有激活
\u getframe
。)

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

在他们提到使用命令行选项从源代码重建IronPython时,我下载了源文件,但不知道如何使用这些选项构建它。

他们还提到,这些选项在官方安装程序中,我已经运行了几次安装程序exe,但没有看到这些选项

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

var options = new Dictionary<string, object>();
options["Frames"] = true;
options["FullFrames"] = true;
ScriptEngine engine = Python.CreateEngine(options);
var options=newdictionary();
选项[“帧”]=true;
选项[“完整帧”]=true;
ScriptEngine=Python.CreateEngine(选项);

如果您不想要完整帧,只需将其保留或将其设置为
false

稍微超出问题的范围,但这意味着任何其他人都可以通过直接使用ipy.exe解释器调用Python脚本来获得此错误

您只需添加参数
-X:FullFrames
。例如,调用脚本,如

ipy.exe -X:FullFrames script.py