import parser does not import parser.py in same dir on win

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Joel Hedlund

    #1

    import parser does not import parser.py in same dir on win

    Hi!

    I have a possibly dumb question about imports. I've written two python
    modules:

    parser.py
    ------------------------------------
    class Parser(object):
    "my parser"
    ------------------------------------

    app.py
    ------------------------------------
    from parser import Parser
    print "import successful"
    ------------------------------------

    Running app.py on linux, gives:
    ------------------------------------
    import succesful
    ------------------------------------

    However, runnning it on windows gives:
    ------------------------------------
    Traceback (most recent call last):
    File "test.py", line 1, in ?
    from parser import Parser
    ImportError: cannot import name Parser
    ------------------------------------

    It turns out that on Windows, the builtin parser module is imported
    instead. Why? Why is there a difference? What other names are "taken"?

    In both cases the script dir is first on sys.path, and I'm using the
    plain old terminal/cmd window.

    Thanks for your time.

    Cheers!
    /Joel Hedlund
  • Fredrik Lundh

    #2
    Re: import parser does not import parser.py in same dir on win

    Joel Hedlund wrote:
    It turns out that on Windows, the builtin parser module is imported
    instead. Why?
    the table of built-in modules are checked before searching the path.
    Why is there a difference? What other names are "taken"?
    depends on how the interpreter is built; there's a sys variable that
    contains a list of all built-ins:



    </F>

    Comment

    • Joel Hedlund

      #3
      Re: import parser does not import parser.py in same dir on win

      the table of built-in modules are checked before searching the path.

      I figured as much. But why is the behavior different on linux/win? Is
      this documented somewhere?

      /Joel

      Comment

      Working...