Gnarlodious wrote:

> On Nov 1, 5:36 am, Peter Otten wrote:
> 
>> Remove the directory containing the importing file from your sys.path.
> I removed all sys.path customizations and rebooted.
> 
> In the following scenario, I am programming in one.py attempting to
> import Data.py which is in the alpha folder:
>> $ tree
>> .
>> `-- alpha
>> |-- __init__.py
>> |-- beta
>> |   |-- __init__.py
>> |   `-- one.py
>> `-- gamma
>> |-- __init__.py
>> `-- two.py
> 
> However, all I can get is error:
> 
>     from .. import Data
> ValueError: Attempted relative import in non-package
> 
> Why is the parent folder not recognized as a package? Because right
> now I am liberally using sys.path, which works but is a little too
> messy.

If you didn't add '/path/to/alpha' to your path explicitly then you may be 
starting one.py as a script with

$ python /path/to/alpha/beta/one.py

one.py then becomes the __main__ module instead of alpha.beta.one. 
Or your working directory is /path/to/alpha and you import one.py with

import beta.one

which makes beta instead of alpha the toplevel package.

Peter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to