IronPython ImportException:没有名为logging的模块

Chi*_*nke 5 c# mono logging ironpython importerror

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

ScriptEngine engine = Python.CreateEngine();
dynamic logging = engine.ImportModule("logging");
Run Code Online (Sandbox Code Playgroud)

产生以下错误:

IronPython.Runtime.Exceptions.ImportException: No module named logging
Run Code Online (Sandbox Code Playgroud)

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

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

Vik*_*kez 8

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

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

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