Thanks Carsten and Gabriel, the answer is 'sys.modules'. ---------------------------------------- import sys, os from path import sep # ImportError: No module named path sys.modules['path'] = os.path from path import sep # (no error) ----------------------------------------
I can now import from my module which is generated by 'new' module. ---------------------------------------- # create a module import new foo = new.module('foo') foo.pi = 3.14159 foo.x2 = lambda x: 2*x # register it to sys.modules import sys sys.modules['foo'] = foo # import from that module from foo import pi, x2 ---------------------------------------- Great. > Not that this can't be done, but why do you think you have to create > this 'foo' module on the fly? What is the actual problem you're trying > to solve? I have a package which has several small modules and I want to integrate them into a file, with keeping compatibility. current: mylib/ __init__.py html.py xhtml.py xml.py : : future: mylib.py -- regards, kwatch "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Mon, 30 Apr 2007 20:19:54 -0300,kwatch<[EMAIL PROTECTED]> escribió: > > > Could you teach me the condition of module name which is available > > in 'from ... import ...' statement? > > > The goal what I want to do is to create a module by 'new' module > > and specify that module name in 'from ...' statement. > > You can create the module with imp.new_module, populate it, and then > insert it inside sys.modules: > > py> from imp import * > py> m = new_module("foo") > py> m > <module 'foo' (built-in)> > py> m.a = 1 > py> def test(): > ... print "Function test inside foo module" > ... > py> m.test = test > py> import sys > py> sys.modules["foo"]=m > py> m > <module 'foo' (built-in)> > py> foo > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > NameError: name 'foo' is not defined > py> import foo > py> foo.test() > Function test inside foo module > > But, why do you want to do this exactly? > > -- > Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list