2010-10-27 62 views
2

我們需要引用C#中的.py代碼。 IronPython.Runtime.Exceptions.ImportException:這是使用IronPython的2.6如何在IronPython中引用編譯好的python代碼?

產生的問題是從的.py代碼使用「進口customlib」,這是編譯成customlib.pyc庫

的IronPython給出錯誤的事實解決:無模塊命名customlib

嘗試的解決方案:

在Python這樣的代碼添加引用:

import sys 
sys.path.append('c:\path to customlib') 

似乎可以用於其他.py文件但不適用於.pyc

問題: 1)如何在IronPython中引用.pyc? 2)如果不可能,在C#.Net中使用.py和.pyc有什麼替代方法? (顯然我們沒有的.py源代碼形式customlib.pyc)

C#代碼,對於作品的.py但如果進口的.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") 

的感謝!

回答