title: __init__.py in project folder breaks nose tests
body: <p><strong>project tree:</strong></p>
  
  <pre><code>.
  |-- bar.py
  `-- test
      |-- __init__.py
      `-- test_bar.py
  </code></pre>
  
  <p><strong>bar.py:</strong></p>
  
  <pre><code>def dumb_true():
      return True
  </code></pre>
  
  <p><strong>tests/test_bar.py:</strong></p>
  
  <pre><code>import bar
  
  def test_bar_true():
          assert bar.dumb_true()
  </code></pre>
  
  <p>I can run <code>nosetests</code> from inside the project or its test directory. If I add an empty <code>__init__.py</code> to the project folder, however, I can no longer run <code>nosetests</code> from inside the test directory, which doesn't make any sense to me.</p>
  
  <pre><code>.
  |-- bar.py
  |-- __init__.py  &lt;-- new, empty file, ruining everything
  `-- test
      |-- __init__.py
      `-- test_bar.py
  </code></pre>
  
  <p>Can anyone explain to me what's going on here? </p>
  
  <p>I've read extensively on this topic - through nose documentation/man pages and all over the internet; but it looks very confusing to me how this all resolves!</p>