如何在IronPython中引用编译的python代码?

时间:2010-10-27 19:55:13

标签: c# python ironpython

我们需要引用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")

谢谢!

1 个答案:

答案 0 :(得分:2)

*.pyc文件是CPython特有的。你必须反编译它们或调用CPython。

反编译试试: