我们需要引用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的替代方法是什么? (显然我们没有.py源代码表单customlib.pyc)
适用于.py的C#代码但不是.py导入.pyc:
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")
谢谢!
答案 0 :(得分:2)
*.pyc
文件是CPython特有的。你必须反编译它们或调用CPython。
反编译试试: