title: Cross Call of funtions from differents python files fails
body: <p>Sure this is a newbie and common error, but I could no find a solution because I don't know the name of this kind of issues.</p>
  
  <p>I've got 2 python files p1.py and p2.py</p>
  
  <p>p1.py:</p>
  
  <pre><code>from p2 import *
  
  def a():
    print "Caller a --&gt; Calling b"
    b()
  
  def c():
    print "Caller c --&gt; Calling d"
    d()
  
  a()
  </code></pre>
  
  <p>p2.py:</p>
  
  <pre><code>from p1 import *
  
  def b():
    print "Caller b --&gt; Calling c"
    c()
  
  def d():
    print "Caller d --&gt; END"
  </code></pre>
  
  <p>When I run <code>p1.py</code> I get next error: </p>
  
  <blockquote>
    <p>NameError: global name 'b' is not defined</p>
  </blockquote>
  
  <p>What I'm doing wrong? Any recommended [short] read?</p>