[Tutor] import and unittest

thomas coopman thomas.coopman at gmail.com
Wed Jan 17 13:57:01 CET 2007


On Tue, 16 Jan 2007 10:06:37 -0000
"Alan Gauld" <alan.gauld at btinternet.com> wrote:

> 
> "Thomas Coopman" <thomas.coopman at gmail.com> wrote
> .
> > I wondered if it was possible to do something like this:
> >
> > src/
> >    -a_module/
> >        -sub_module/
> > test/
> >    -a_module/
> >        -sub_module/
> >
> 
> I don;t see any reason why not although its slightly more work.
> Personally I tend to keep the tests with the code, but thats
> mainly because tools such as editors tend to remember the last
> folder opened and its a pain navigating between the two folders.
> 
> The other system I have used(in C++ not Python) is to have
> a test folder inside each src folder like:
> 
> src/
>    mod1/
>        f1.py
>        test/
>           testf1.py
>     mod2/
>        f2.py
>        f3.py
>        test/
>            testf1.py
>            testf2.py
> 
> etc.
> 
> This minimises navigation and keeps the tests separate.
> Its also relatively easy to filter out the tests when it comes
> time to package upp the code for distribution (assuming
> you want to lose them!)
> 
> > I have something like this but I don't know how to organize the 
> > imports in
> > the tests and I don't know if this is a good idea.  What do you 
> > think?
> 
> I think in Python you should create a package structure for
> your code so that import can find the modules more easily.
> But I've never tried this in Python, my Python projects are rarely
> big enough to warrant it.
> 
> 

well, I still have problems with import

suppose I have something like this:

M/
  __init__.py
  A/
    __init__.py
    One.py
  B/
    __init__.py
    Two.py

One.py
    #!/usr/bin/python

    from M.B import Two

Two.py
    #!/usr/bin/python

    from M.A import One


when I try to run One.py or Two.py I get import errors and I don't know
how to fix them.  I tried to set the __all__ variable in the __init__
files but nothing worked so far.

I would like to run the files from anywhere for example.
What am I doing wrong?
I read the information about modules on python.org
(http://www.python.org/doc/2.0.1/tut/node8.html) but I don't find a
solution

Thanks


More information about the Tutor mailing list