ImportError with IronPython in C#
2016-04-03 11:59 Dorisoy 阅读(465) 评论(0) 编辑 收藏 举报I was using IronPython to execute python code inside my C# implementation lately, and I encountered this error when trying to use xmlrpclib:
ImportError: No module named xmlrpclib.
It was really frustrating because if I try the same in IronPython console, it works fine. It turned out that this was a problem with search paths. When called via C# code, IronPython does not search for missing libraries unless you provide it a path to search for. Here’s how I solved this issue:
- First, find out the search paths that IronPython is using in console mode:
import sys
print sys.path
This will print all the search paths. Save these paths somewhere.
- Now include all these search paths inside your C# code:
ScriptEngine Engine = Python.CreateEngine();
ICollection<string> Paths = Engine.GetSearchPaths();
Paths.Add("<Path>");
Engine.SetSearchPaths(Paths);
Replace <Path>
with the path you saved earlier. Now IronPython will search all these pathsbefore failing with an ImportError.
Xamarin