ImportError with IronPython in C#

it2022-05-25  59

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.

转载于:https://www.cnblogs.com/mschen/p/5349555.html


最新回复(0)