IronPython ImportException:没有名为logging的模块

我让ironpython在mono上工作正常,但它没有导入logging模块。 执行此代码:

 ScriptEngine engine = Python.CreateEngine(); dynamic logging = engine.ImportModule("logging"); 

产生以下错误:

 IronPython.Runtime.Exceptions.ImportException: No module named logging 

我包含的IronPython程序集是最新的:IronPython.Modules.dll,Microsoft.Dynamic.dll,Microsoft.Scripting.dll,Microsoft.Scripting.Metadata.dll。

如何在Ironpython中使用日志记录模块?

将程序集添加到C#应用程序是不够的。 logging是用python编写的,它是标准库的一部分。 您还必须将标准库添加到IRONPYTHONPATH 。 你可以这样做:

 var engine = Python.CreateEngine(); var paths = engine.GetSearchPaths(); paths.Add(@"C:\Path\to\your\standard\library"); engine.SetSearchPaths(paths); 

如果您需要标准库,则可能需要随应用程序一起提供。 我的建议是压缩它,然后将zip文件添加到paths