C# 如何在IronPython中引用已编译的python代码?
我们需要引用C#中的.py代码。这是使用IronPython 2.6解决的 这个问题源于.py代码使用“import customlib”,这是一个编译到customlib.pyc中的库 IronPython给出错误:IronPython.Runtime.Exceptions.ImportException:没有名为customlib的模块 尝试的解决方案: 在python代码中,添加如下引用:C# 如何在IronPython中引用已编译的python代码?,c#,python,ironpython,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')
import sys
sys.path.append('c:\path to customlib')
这似乎适用于其他.py文件,但不适用于.pyc
问题:
1) 如何在IronPython中引用.pyc?
2) 如果不可能,在C#Net中使用.py和.pyc的替代方案是什么?
(显然,我们没有.py源代码表单customlib.pyc)
适用于.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")
谢谢 pyc文件是特定于CPython的。您必须对它们进行反编译或调用CPython 要进行反编译,请尝试: