【发布时间】:2010-10-28 04:28:57
【问题描述】:
我们需要从 C# 中引用 .py 代码。使用 IronPython 2.6 解决了这个问题
问题源于 .py 代码使用“import customlib”,这是一个编译成 customlib.pyc 的库
IronPython 给出错误:IronPython.Runtime.Exceptions.ImportException:没有名为 customlib 的模块
尝试的解决方案:
在python代码中添加这样的引用:
import sys
sys.path.append('c:\path to customlib')
这似乎适用于其他 .py 文件,但不适用于 .pyc
问题: 1) 你如何在 IronPython 中引用 .pyc? 2)如果不可能,在 C#.Net 中使用 .py 和 .pyc 的替代方法是什么? (显然我们没有customlib.pyc形式的.py源代码)
适用于 .py 但不适用于 .py 导入 .pyc 的 C# 代码:
ScriptEngine engine = Python.CreateEngine();
ScriptScope pyScope = null;
ScriptSource ss = null;
...
pyScope = engine.CreateScope();
ss = engine.CreateScriptSourceFromFile(@"C:\test.py");
ss.Execute(pyScope);
...
int result = (int)engine.Operations.InvokeMember(pyScope, "funcName")
谢谢!
【问题讨论】:
标签: c# python ironpython