IronPythonを使用して、C#でpyparsingを使用する python スクリプトを実行しようとしています。しかし、スクリプトを実行しようとすると、そこにあるというImportExceptionが発生します。pyparsingで構成されるディレクトリへのパスを追加しようとしましたが、適切な方法で実行する方法をまだ管理していませんでした。No module named pyparsing
C#コードは次のとおりです。
string ExecutePythonScript(string path, string text)
{
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
string dir = System.IO.Path.GetDirectoryName("pyparsing-1.5.7");
ICollection<string> paths = engine.GetSearchPaths();
if (!String.IsNullOrEmpty(dir))
{
paths.Add(dir);
}
else
{
paths.Add(Environment.CurrentDirectory);
}
engine.SetSearchPaths(paths);
scope.SetVariable("text", text);
engine.ExecuteFile(path, scope);
return scope.GetVariable("result");
}
もちろん、Python スクリプトの開始時にpyparsingをインポートします。