title: Confused with Python's import intrapackage references
body: <p>I run Python 2.7.6. I am having a problem with creating a package. The following is a MWE:</p>
  
  <p>I have the following files:</p>
  
  <pre><code>run.py
      MyPackage/
          __init__.py
          Father_class.py
          Son_class.py
          class1.py
  </code></pre>
  
  <p>With the following content:</p>
  
  <p><strong>init</strong>.py</p>
  
  <pre><code>__all__ = ['Father_class', 'Son_class', 'class1']
  </code></pre>
  
  <p>run.py</p>
  
  <pre><code>from MyPackage import Father_class, Son_class
  </code></pre>
  
  <p>Father_class.py:</p>
  
  <pre><code>class Daddy(Object):
      def __init__(self):
          self.hello=1
  </code></pre>
  
  <p>Son_class.py:</p>
  
  <pre><code>from MyPackage import *
  # alternatively I tried: from MyPackage import class1, Father_class
  class Sonny(Daddy):
      def __init__(self):
          super(Daddy, self).__init__()
          self.bye=class1.MyClass1()
          #alternatively I tried self.bye=MyClass1()
  </code></pre>
  
  <p>class1.py:</p>
  
  <pre><code>class MyClass1(Object):
      def __init__(self):
          self.life=1
  </code></pre>
  
  <p>When running run.py I get:</p>
  
  <pre><code>    self.bye=class1.MyClass1()
  NameError: global name 'class1' is not defined
  </code></pre>
  
  <p>Any ideas of what I'm doing wrong?</p>