On 27 Aug, 18:44, Daniel <[EMAIL PROTECTED]> wrote:
>
> I'm writing some unit tests for my python software which uses
> packages.  Here is the basic structure:
>
> mypackage

[...]

>   unittests
>     __init__.py
>     alltests.py
>     test1.py
>     test2.py
>
> within alltests.py I would expect to be able to "import
> mypackage.unittests.test1".  In fact within PyScripter this works as
> expected.  However, when I execute the code from the command line, I
> get the following error:
>
> ImportError: No module named mypackage.unittests.test1

One thing to note: if you are running alltests.py directly (which you
don't mention explicitly) then even if you do so from the directory
containing the root of the package hierarchy (mypackage), it will be
the directory containing alltests.py (unittests) which will appear on
the PYTHONPATH/sys.path. Sometimes it's easy to take this behaviour
for granted when running programs.

A question: what happens if you prepend the directory containing the
root of package hierarchy to sys.path using insert (at element 0)
rather than append?

Paul
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to