如何使用c#.Net运行包含第三方库的python脚本?

时间:2013-07-29 12:08:20

标签: python c#-4.0 python-2.7 ironpython

我创建了一个python脚本,它由第三方dll组成。 如果我运行它正确执行。如果从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");

1 个答案:

答案 0 :(得分:0)

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

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

或来自python脚本:

import clr
clr.AddReferenceToFileAndPath("path\\to\\assemblyFile")