> [email protected] wrote: >> Hello there, >> >> I have just started working with python and I have some issues >> understanding how I should be importing modules from packages. Curretly >> I >> have the following tree structure: >> >> general/ >> __init__.py >> address_book.py >> groups/ >> __init__.py >> contact_group.py >> >> where groups and general are in the same level and all the __init__.py >> files are empty. > > You seem to need a common starting point: > > % ls -R > .: > general groups main.py > > ./general: > gen.py __init__.py > > ./groups: > grp.py __init__.py > > The same setup as you have, except my names are less nice, and I have a > ./main.py added > > The latter file is the starting point: > > % cat main.py > from general import gen > > The general/gen file imports the groups/grp file, and then prints some > text: > > % cat general/gen.py > from groups import grp > print "inside gen.py" > > Finally, the groups/grp.py file outputs only some text: > > % cat groups/grp.py > print "inside grp.py" > > When I run this code, I get the following output: > > % python main.py > inside grp.py > inside gen.py > > > By starting from main.py, the Python interpreter uses the current "." > directory as starting point for imports. That starting point is then used > to > refer to other files (possibly in another package). > > > Sincerely, > Albert > >
I have actually rearranged my code to have such hierarchy which obviously works. The problem is that I want ot be able to perform unit tests withinn the package of the code. I keep having the problem with from ..groups.contact_group import ContactGroup I have read that the notation is correct, but how do you get it too work? I can alway move all the tests one level up, but I really would prefer not to have to do it. Kr, Manuel _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
