title: __init__.py does not find modules in same directory
body: <p>I need assistance on how to organize source in a python package - I've already followed several tutorials on the web (especially <a href="http://pythoncentral.io/how-to-create-a-python-package/" rel="noreferrer">this one</a>) on how to do so, but it does not work as explained and how I imagined it.</p>
  
  <p>I want to create a python package named <code>binaryio</code>. It should offer two classes named <code>BinaryReader</code> and <code>BinaryWriter</code> which I want users to be able to import with</p>
  
  <pre><code>from binaryio import BinaryReader
  from binaryio import BinaryWriter
  </code></pre>
  
  <p>Thus I have created my repository and package directory structure as follows:</p>
  
  <ul>
  <li>binaryio (repository root)
  
  <ul>
  <li>binaryio (package root)
  
  <ul>
  <li><strong>__init__.py</strong> (s. below)</li>
  <li><strong>binaryreader.py</strong> (contains the <code>BinaryReader</code> class)</li>
  <li><strong>binarywriter.py</strong> (contains the <code>BinaryWriter</code> class)</li>
  </ul></li>
  <li><strong>setup.py</strong> (contains the <code>setuptools.setup</code> call)</li>
  <li><strong>.gitignore</strong>, <strong>README.md</strong>, <strong>LICENSE</strong>, ...</li>
  </ul></li>
  </ul>
  
  <p>As you can see, the classes are in separate files as I'm used to this (coming from a C# background). I'm not sure if this is a good idea due to modules being the "unit" in Python - but otherwise cramping all classes into one huge file did not seem logical to me.</p>
  
  <p><strong>__init__.py</strong> looks as follows to import those classes, making (as I understood it) the <code>from binaryio import BinaryReader</code> imports possible for users later on:</p>
  
  <pre><code>from binaryreader import BinaryReader
  from binarywriter import BinaryWriter
  </code></pre>
  
  <p>However, when I install the package locally (which seems to work fine) and try to <code>import binaryio</code>, I get the following error:</p>
  
  <pre><code>&gt;&gt;&gt; import binaryio
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "D:\Projects\Git\binaryio\binaryio\__init__.py", line 1, in &lt;module&gt;
      from binaryreader import BinaryReader
  ModuleNotFoundError: No module named 'binaryreader'
  </code></pre>
  
  <p>Apparently, something is wrong with my <strong>__init__.py</strong> file. I don't understand this, as a <strong>binaryreader.py</strong> file aka module exists in the same folder as you can see above. Funnily enough, my IDE (PyCharm, having set the package root as source folder) does not complain about the statements in it and can resolve all references.</p>
  
  <p>What am I doing wrong here? According to the tutorial linked above, putting a file into <strong>xyz.py</strong> with a class named <code>Abc</code> and then write <code>from xyz import Abc</code> into <strong>__init__.py</strong> should work, but apparently it doesn't for me.</p>