Packages

Kevin T. Ryan kevin.t.ryan at gmail.com
Fri Jul 27 21:25:07 EDT 2007


On Jul 27, 7:21 pm, Alex Popescu <nospam.themindst... at gmail.com>
wrote:
> "Kevin T. Ryan" <kevin.t.r... at gmail.com> wrote innews:1185576929.136179.174440 at b79g2000hse.googlegroups.com:
>
>
>
> > Hi All -
>
> > I'm having a problem and I hope you can help.  I can't seem to import
> > packages from within the package substructure as I think I should be
> > able to.  For example, I create a directory structure as follows:
>
> > testpkg
> >   __init__.py [empty]
> >   testsub1/
> >     __init__.py [empty]
> >     bad.py [import testpkg.testsub2.good; print "hello from bad"] <-
> > error
> >   testsub2/
> >     __init__.py [empty]
> >     good.py [print "hello from good"]
>
> > Whenever I try to run bad.py (just python bad.py from within the
> > testsub2 subdirectory or from above the testpkg directory) I get an
> > error.  For example:
>
> > $ python testpkg/testsub1/bad.py
> > Traceback (most recent call last):
> >   File "testpkg/testsub1/bad.py", line 1, in <modul
> >     import testpkg.testsub2.good
> > ImportError: No module named testpkg.testsub2.good
>
> > How can I get my subpackages to recognize other subpackages in the
> > same top-level package?  Thanks in advance!!
>
> > Kevin
>
> When executing bad.py python will be looking for imported module (in the
> standard path) and then in your current directory (so to find it you
> should have testsub1/testpkg/testsub2). You can solve this by adding
> your toplevel director (the parent of testpkg) to the PYTHONPATH.
>
> bests,
> ./alex
> --
> .w( the_mindstorm )p.

Ok, thanks.  I was under the impression that this wouldn't be
necessary (eg, see http://docs.python.org/tut/node8.html#SECTION008420000000000000000),
but perhaps I was wrong.  Thanks again for the advice :)




More information about the Python-list mailing list