Relative import problem

Jorgen Bodde jorgen.maillist at gmail.com
Thu Apr 19 12:54:50 EDT 2007


Hi all,

I want to structure my app so that I have two dirs like;

obj/{object files}

gui/{gui files}

Here comes the catch. From the GUI dir, I would like to access the obj
submodule path. I need to go one dir back.. I read there was something
like from .. import x in python 2.5 so that I could access my obj dir
from a lower level, but I have problems getting this to work.

Example;

In the main dir I have;

main.py:
--------
import gui

gui.gui.startme()
--------

In the obj dir I have;

obj/obj.py
---------

def start():
    print 'Started OBJ'
---------

In the GUI dir I have

gui/gui.py
---------
from .. import obj

def start():
    obj.obj.start()
---------

This does not work. It gives me;

D:\personal\src\GuitarPortfolio\tmp>python start.py
Traceback (most recent call last):
  File "start.py", line 4, in <module>
    gui.gui.start()
AttributeError: 'module' object has no attribute 'gui'

Am I shooting myself in the foot by trying to structure? Or are there
better more elegant ways?

Regards,
- Jorgen



More information about the Python-list mailing list