On May 3, 8:41 am, Brian Blais <[EMAIL PROTECTED]> wrote: > Hello, > > I am trying to organize some of my code, and am having a little trouble with > the > import logic. I find I often have something like: > > MyPackage/ > Part1/ # wants to use functions in Common/ > __init__.py # does "from MyClass1 import MyClass1", etc,... > MyClass1.py > MyClass1a.py # depends on MyClass1 > MyClass1b.py # depends on MyClass1 > > Part2/ # wants to use functions in Common/ > __init__.py # does "from MyClass2 import MyClass2", etc,... > MyClass2.py # depends on MyClass1 also, such as containing a list of > MyClass1 > MyClass2a.py # depends on MyClass2 > MyClass2b.py # depends on MyClass2 > > Common/ > __init__.py # does "import fun1,fun2", etc,... > fun1.py > fun2.py > > So I have some common utilities that both classes want to access, and I have > two > separate class definitions, of which one depends on the other. In > MyClass2.py, I > can't seem to do: > > import Common.fun1 > > or > > from Part1.MyClass1 import MyClass1 > > I think I am either missing some syntax/path thing, or I am thinking about the > organization in entirely the wrong way. Currently, as a hack, I am simply > copying > the code from Common into the other two directories, and making a link to the > Part1 > directory in the Part2 so I can import it. There must be a better way, yes? > > thanks, > > Brian Blais > > -- > ----------------- > > [EMAIL PROTECTED] > http://web.bryant.edu/~bblais
It looks like you need __init__.py in MyPackage. Then you can import starting with MyPackage. For example, you might use one of the following: import MyPackage from MyPackage.Common import * etc -- Carlos Hanson -- http://mail.python.org/mailman/listinfo/python-list