[IronPython] Importing embedded .py files

Nathan R. Ernst ernsnat at iit.edu
Tue Jul 4 09:12:46 CEST 2006


Out of curiosity, is there any sort of hook into the engine that would allow
you search for a module on your own?  e.g. a search of sys.path did not find
the specified module, so before raising an import error, we give a set of
registered event handlers a crack at it? I would envision a cancelable event
would be raised, such that the first handler (if any) to successfully find
the module would prevent further handlers from being called.

I would need to take a closer look at the engine interfaces to see if this
would work, but I'd think this would be a relatively minor change (if its
not there already, of course).

-Nathan

-----Original Message-----
From: users-bounces at lists.ironpython.com
[mailto:users-bounces at lists.ironpython.com] On Behalf Of JoeSox
Sent: Tuesday, July 04, 2006 12:10 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Importing embedded .py files

This is working except two of the embedded .py files import each
other, so no matter which one I place first, it errors out.  So I
guess I can catch it. lol. It's going to end up being about 60+ lines
of code to import 9 modules into the engine.
Or, I could modify the .py files some more but I prefer not to.


On 7/3/06, Michael Foord <fuzzyman at voidspace.org.uk> wrote:
> As a workaround, you could create your own module objects very easily
> assuming you have the source code as a string.
>
> import imp
> import sys
>
> newModule = imp.new_module(moduleName)
> exec(sourceCode, newModule.__dict__)
> sys.modules[moduleName] = newModule
>
> You *should* then be able to import from this module in the normal way.
> (Unless I have made a mistake in the above code.)
>
> All the best,

-- 
Later, Joe
_______________________________________________
users mailing list
users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com




More information about the Ironpython-users mailing list