2

我可以使用 ironpython 2.6(不适用于 .net 4)加载 numpy,在命令行上使用 -X:Frames 或 -X:FullFrames 运行 ipy。

但是,如果我想在 C# 2.0 中使用 Ironpython/DLR 来加载 py 文件,我该如何使用 -X:Frames 或 -X:FullFrames?

我试过这样:

        var lang = Python.CreateLanguageSetup(null);
        lang.Options["Frames"] = ScriptingRuntimeHelpers.True;
        var setup = new ScriptRuntimeSetup();
        setup.LanguageSetups.Add(lang);
        var runtime = new ScriptRuntime(setup); 
        var engine = runtime.GetEngine("py");

        engine.ExecuteFile("test.py");  

但是,它没有用!那么,有没有人可以帮我一把?

4

2 回答 2

1

我不认为框架工作或不工作是你的问题。如果我接受你的代码并输入:

import sys
sys._getframe()

进入 test.py 如果我有 'lang.Options["Frames"] = ScriptingRuntimeHelpers.True;' 如果我不这样做,就会失败。这表明该选项工作正常。

那么你得到的错误是什么?可能是您需要设置命令行通常执行的操作 - 例如 sys.path 可能需要当前目录和/或“.”。或者可能需要导入 site.py。或者 IronClad 可能安装在 DLLs 目录中并自动加载,因此您需要对其 DLL 执行 runtime.LoadAssembly(...) 。

于 2010-07-01T05:02:45.787 回答
0

您的问题与此类似: Can't import numpy into embedded ironpython engine

但是,也许你应该提供更多关于你得到什么错误的信息......

于 2010-06-30T07:49:26.463 回答