Ethan Furman wrote: > Greetings! > > I'm working on a package with multiple modules (and possibly packages), > and I would like to do it correctly. :) > > I have read of references to possible issues regarding a module being > imported (and run) more than once, but I haven't been able to find > actual examples of such failing code. > > My google search was fruitless (although still educational !-), so if > anyone could point me in the right direction I would greatly appreciate > it.
The most common problem is that a file is used as module and as executable at the same time. Like this: --- test.py --- class Foo(object): pass if __name__ == "__main__": import test assert Foo is test.Foo --- This will fail when executed from the commandline because the module is known twice - once as "__main__", once as "test". So keep your startup-scripts trivial, or don't ever import from them. You might create similar situations when modifying sys.path to reach *into* a package - but that would be sick to do anyway. Other than that, I'm not aware of any issues. Diez -- http://mail.python.org/mailman/listinfo/python-list