Relative Imports
Scott David Daniels
scott.daniels at acm.org
Tue Jul 17 21:51:55 EDT 2007
Pat O'Hara wrote:
> Hey guys, I know this is a really stupid question, but I've tried
> googling and nothing came up. I also tried IRC, but it was too crowded
> and I didn't get much useful information.
>
> I'm using Python 2.5 on WinXP, and I'm trying to do a relative import.
> Here's the package structure
>
> A/
> __init__.py
> aneededmodule.py
> [some more modules]
> B/
> __init__.py
> anothermodule.py
>
> anothermodule.py needs to use aneededmodule.py; package A's __init__.py
> looks like this:
>
> from aneededmodule import somestuff
>
> My problem is that when anothermodule tries to import ..aneededmodule or
> ..somestuff (because somestuff was imported into __init__), I get a
> ValueError: Attempted relative import in non-package.
>
> What's my problem? This seems like something very trivial, but I've
> never had to use python for a project of this size before, so I've never
> dealt with this.
>
> Thanks for your help,
> -Pat
My guess (without seeing your code or error messages; shame on you) is
that you are running A/B/anothermodule.py; not -m A.B.anothermodule
--
--Scott David Daniels
scott.daniels at acm.org
More information about the Python-list
mailing list