Import - interpreter works but .py import does not

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • John Boy

    Import - interpreter works but .py import does not

    First post and very much a newbie to Python. Have 2.5 on Linux (GG). I
    think I have set up PYTHONPATH correctly in that I can import a module
    apply_bp and it complains about line 20 in apply_bp which is:

    import sys, aipy, numpy, os

    At the interpreter prompt, however, I can import sys, numpy etc. and
    can do dir() and see the entry points so I think my overall
    installation is OK.

    Why does line not work ? Also I would have thought that when I pre-
    imported sys et al that they would be in the symbol table so that the
    import line would be a noop.

    Thanks,

    Slainte,

    John
  • John Machin

    #2
    Re: Import - interpreter works but .py import does not

    On Mar 10, 1:59 pm, John Boy <sla1nte2...@ya hoo.comwrote:
    First post and very much a newbie to Python. Have 2.5 on Linux (GG). I
    think I have set up PYTHONPATH correctly in that I can import a module
    apply_bp and it complains about line 20 in apply_bp which is:
    >
    import sys, aipy, numpy, os
    Please get used to showing the error message. "it complains about line
    x" is not very helpful. Fortunately in this case we can guess that it
    is "complainin g" about inability to import either aipy or numpy (sys
    and os are built-in).
    >
    At the interpreter prompt, however, I can import sys, numpy etc. and
    can do dir() and see the entry points so I think my overall
    installation is OK.
    >
    Why does line not work ?
    More information please.

    At the interpreter prompt, do this:
    import sys
    sys.path
    import aipy; aipy.__file__
    import numpy; numpy.__file__
    and show us the result.
    Change the offending line in your apply_bp module to
    import sys
    print sys.path
    import os, aipy, numpy
    and show us ALL of the output.
    At the shell prompt, do whatever it takes to display the contents of
    PYTHONPATH, and show us the results.
    Also I would have thought that when I pre-
    imported sys et al that they would be in the symbol table so that the
    import line would be a noop.
    The concept of "preimporti ng" a module is novel to me. Importing a
    module at the interpreter prompt doesn't persist when you exit the
    interpreter and then (implicitly) start up another interpreter task to
    run your script. Importing a module in your script puts the module in
    the script's namespace, which is quite distinct from the namespace of
    the apply_bp (or any other) module. If those two possibilities don't
    cover what you mean, please explain.

    Comment

    Working...