[IronPython] Referencing extension modules from hosting
Jeff Hardy
jdhardy at gmail.com
Thu Mar 18 17:31:01 CET 2010
When using a C# PythonModule, there seem to be two ways to load it:
from script using clr.AddReference and into the console by dropping it
into the DLLs folder. However, there doesn't seem to be a
straightforward way to load them in a hosting scenario.
The best way I've found is the following:
string zlibModule = "IronPython.Zlib.dll"
object addRef = engine.GetClrModule().GetVariable("AddReference");
Assembly zlib = Assembly.LoadFile(zlibFile);
engine.Operations.Invoke(addRef, zlib);
It's not terribly difficult to write, but it would be nice to have an
extension method on ScriptEngine that did it.
In a similar vein, it would be nice if the engine could scan the
current AppDomain for assemblies that contain PythonModules - this
would be useful when running under ASP.NET, as it references an
assemblies in its bin/ folder, and having them automatically available
would be handy.
Finally, it would be nice to have an extension method on ScriptScope -
ImportModule? - that did the equivalent of
scope.SetVariable("zlib", scope.Engine.ImportModule("zlib"));
If these suggestions are useful I'll create issues for them.
- Jeff
P.S. These are the sorts of things it would be nice to be able to
contribute patches for.
More information about the Ironpython-users
mailing list