IronPython を使用して C# .NET 経由で Python クラスを実行しようとしています。Python クラスによってインポートされたモジュールのいくつかは次のとおりです。
import collections
import nltk.classify.util
IronPython の実行時にこれらをインポートするために、 ScriptEngineのGetSearchPathコレクションを使用して、Python ライブラリの場所へのパスを追加しています。
ICollection<string> paths = pyEngine.GetSearchPaths();
string dir = @"C:\Python27\Lib\";
paths.Add(dir);
string dir2 = @"C:\Python27\Lib\site-packages\nltk\classify\";
paths.Add(dir2);
pyEngine.SetSearchPaths(paths);
これはcollectionsモジュールでは正常に実行されるようですが、nltk.classify.utilでは実行されず、ScriptEngine の Execute メソッドを呼び出すと次のエラーが発生します。
nltk.classify.util という名前のモジュールはありません
util モジュールも上記で指定したパスに存在します。この問題は、Python クラス (「.」区切り) でインポートを指定する方法に関係していると思いますが、解決方法がわかりません。どこが間違っているのでしょうか?