[IronPython] ScriptRuntime.ImportModule("foo") vs. import foo
Slide
slide.o.mix at gmail.com
Fri Oct 29 01:18:19 CEST 2010
On Thu, Oct 28, 2010 at 4:14 PM, Dino Viehland <dinov at microsoft.com> wrote:
> Slide wrote:
>> I have something like the following code:
>>
>> ScriptEngine engine = Python.CreateEngine(); ScriptScope scope =
>> engine.CreateScope();
>>
>> engine.Runtime.LoadAssembly(Assembly.GetExecutingAssembly()); // holds
>> the namespace foo
>>
>> // the following line throws an exception
>> engine.Runtime.ImportModule("foo");
>>
>> // the following if executed works fine
>> engine.Execute("import foo");
>>
>>
>> I'm basically just trying to make the types in my executing assembly available
>> to the script. I assumed that the ImportModule would see things that had
>> been loaded using LoadAssembly, but this doesn't seem to be the case.
>>
>> Does anyone have examples of doing this that works?
>
>
> I think the problem here is that foo is not a PythonModule - it's a NamespaceTracker
> object instead. ImportModule can currently only support modules. This could be
> made to support namespace trackers - PythonService.ImportModule would need
> to be updated to check for a ReflectedNamespace and create a ScriptScope from it.
>
>
Is it best to just Execute("import foo") to make it available then?
Thanks,
slide
More information about the Ironpython-users
mailing list