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

Reply via email to