David Driver wrote:
I have read the essay at
<http://www.python.org/doc/essays/packages.html> and I am still having
problems understanding what I need to do.

In AR.sobjs I have a class that is inherited from
Common.sobjs.baseDomObj. When I run StartHere.py Common imports just
fine. It starts to import AR and AR. __init__.py imports AR.sobjs.py
and it throws the following error:

Traceback (most recent call last):
  File "C:\foo\doinit\starthere.py", line 3, in ?
    import AR
  File "C:\foo\doinit\AR\__init__.py", line 3, in ?
    import sobjs
  File "C:\foo\doinit\AR\sobjs.py", line 1, in ?
    class custAddress(Common.address):
NameError: name 'Common' is not defined

Do I need to import Common in each sub package to have access to it?

Yes, you have to import Common in any module that references Common.

Does it consume more memory?

No, not a significant amount. The module itself is only loaded once; each client module keeps a reference to the loaded module, so it is just the cost of a name.


What about Sub Sub packages? shouldn't
you be able to Import DateTime in StartHere and have all sub
modules/packages that are imported into StartHere.py use it?

No, that's not the way it works. There is no truly global namespace in Python, you have to import the names you need into the modules that need them. (OK, there is one global namespace but you generally shouldn't change it.)


Am I
making a big deal out of nothing?

Maybe - are you making a big deal out of it? :-)

Kent

_______________________________________________
Tutor maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to