[IronPython] Importing embedded .py files

Michael Foord fuzzyman at voidspace.org.uk
Mon Jul 3 15:48:34 CEST 2006


JoeSox wrote:
> On 7/2/06, Sanghyeon Seo <sanxiyn at gmail.com> wrote:
>   
>> 2006/7/3, JoeSox <joesox at gmail.com>:
>>     
>>> What is the correct way to import an embedded module file(s) into a
>>> PythonEngine? (snip)
>>>       
>> This is an interesting use case that could be done with PEP 302 import
>> hooks. In CPython it was introduced to allow importing modules from
>> .zip files, but in .NET setting it certainly makes sense to allow
>> importing modules embedded in the assembly, which I believe is not yet
>> possible with IronPython.
>>     
>
> Interesting. Hopefully it will be supported in the future, until then
> I guess I will include my script files with my .dll, which seems odd
> to.
>   
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,

Michael Foord
http://www.voidspace.org.uk/python/index.shtml



More information about the Ironpython-users mailing list