title: Module cannot make absolute imports to its own branch in the package tree?
body: <p>If you have a package structure as this:</p>
  
  <pre class="lang-bsh prettyprint-override"><code>foldertest/
    __init__.py
    a/
      __init__.py
      asub/
        __init__.py
    b/
      __init__.py
  </code></pre>
  
  <p><code>foldertest.__ini__.py</code>:</p>
  
  <pre class="lang-py prettyprint-override"><code>import a
  </code></pre>
  
  <p><code>foldertest.a.__init__.py</code>:</p>
  
  <pre class="lang-py prettyprint-override"><code>import foldertest.a.asub
  print foldertest.a.asub
  </code></pre>
  
  <p>If I from the folder above <code>foldertest/</code> run the python shell and issue <code>import foldertest</code> I receive the following error:</p>
  
  <pre><code>&gt;&gt;&gt; import foldertest
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "foldertest/__init__.py", line 1, in &lt;module&gt;
      import foldertest.a
    File "foldertest/a/__init__.py", line 4, in &lt;module&gt;
      print foldertest.a.asub
  AttributeError: 'module' object has no attribute 'a'
  </code></pre>
  
  <p>Whereas if I would change <code>foldertest.a.__init__.py</code> to import <code>foldertest.b</code> instead and try printing that I would receive:</p>
  
  <pre><code>&gt;&gt;&gt; import foldertest
  &lt;module 'foldertest.b' from 'foldertest/b/__init__.pyc'&gt;
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>Am I doing something wrong or is not possible to use absolute referencing to a package's/module's own branch in the package tree? (also PyDev seems to disapprove of writing imports like this) I wanted to have absolute package references for consistency. Also I do not know of any "best practice" for writing import statements or structuring packages that suggest against this.</p>