0

我创建了一个由第三方 dll 组成的 python 脚本。如果我运行它会正确执行。如果从 c# 应用程序运行 python 脚本,我会遇到如下所示的问题“没有名为 expat 的模块;请改用 SimpleXMLTreeBuilder”

我该如何纠正那个。

我在我的 python 脚本中使用 import gdata.client 库。

我的 C# 代码是:

var engine = Python.CreateEngine();
var paths = engine.GetSearchPaths();
paths.Add(@"c:\Subbu\PythonPractise\Sample\gdata-2.0.18\src");
paths.Add(@"c:\Subbu\PythonPractise\Sample\gdata-2.0.18");
paths.Add(@"C:\Python27\Lib");
engine.SetSearchPaths(paths);
dynamic py = engine.ExecuteFile(@"D:\Subbu\PythonPractise\API\SampleAPI.py");
4

1 回答 1

0

您应该添加对您尝试使用的程序集的引用。在 C# 中,它看起来像这样:

engine.Runtime.LoadAssembly(Assembly.LoadFile(@"Path\to\assemblyFile"));

或来自 python 脚本:

import clr
clr.AddReferenceToFileAndPath("path\\to\\assemblyFile")
于 2013-08-14T09:56:35.393 回答