Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IronPython ImportException:没有名为logging的模块_C#_Logging_Mono_Ironpython_Importerror - Fatal编程技术网

C# IronPython ImportException:没有名为logging的模块

C# IronPython ImportException:没有名为logging的模块,c#,logging,mono,ironpython,importerror,C#,Logging,Mono,Ironpython,Importerror,我让ironpython在mono上运行得很好,但它没有导入日志记录模块。 执行此代码: ScriptEngine engine = Python.CreateEngine(); dynamic logging = engine.ImportModule("logging"); 产生以下错误: IronPython.Runtime.Exceptions.ImportException: No module named logging 我包含的IronPython程序集是最新的:IronPyt

我让ironpython在mono上运行得很好,但它没有导入
日志记录
模块。 执行此代码:

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#应用程序是不够的<代码>日志记录是用python编写的,它是标准库的一部分。您还必须将标准库添加到
IRONPYTHONPATH
中。您可以这样做:

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

如果需要标准库,可能需要将其与应用程序一起提供。我的建议是将其压缩,然后将压缩文件添加到
路径

,谢谢您的回答。是否有一种通用的、独立于平台的方式将标准库添加到路径中?我想硬编码这条路径只能在我的pc@Chiel92是的,不要硬编码。我更新了问题。如果你的应用程序附带了标准库,那么就可以推断出它的(相对或绝对)路径大约150MB。我想找到一种仍然使用系统级python的方法lib@Chiel92它们不是100%兼容的。IronPython对二进制文件附带的标准库做了一些更改。很高兴知道。那么航运真的是唯一的选择吗?或者有没有一种方法可以在系统范围内安装ironpython?(现在越来越复杂了)