title: Import in python 3 complains about argument as a str / bytes
body: <p>I've being <a href="https://github.com/moble/numpy_quaternion" rel="nofollow noreferrer">updating a quaternions package</a> for integration with numpy, so that it can be used in both python 2 and python 3.  Unfortunately, the basic import step fails miserably with 3.x, though it has never failed with python 2.7.  (I use python2.7 to compile the 2.7 version, and python3.x to compile the 3.x versions.  It's a really simple distutils thing.)  The error message doesn't even appear in google's results, and I just have no idea where to go from here.</p>
  
  <p>Here is the complete output from a simple attempt to import the package:</p>
  
  <pre><code>&gt; python -c 'import quaternion'
  Traceback (most recent call last):
    File "&lt;string&gt;", line 1, in &lt;module&gt;
    File "/Users/mynamehere/.continuum/anaconda/envs/py3k/lib/python3.4/site-packages/quaternion/__init__.py", line 3, in &lt;module&gt;
      from .numpy_quaternion import quaternion
  TypeError: __import__() argument 1 must be str, not bytes
  </code></pre>
  
  <p>As the error message says, there is a line in <code>__init__.py</code> saying</p>
  
  <pre><code>from .numpy_quaternion import quaternion
  </code></pre>
  
  <p>But why should that be problematic?  There is a file <code>numpy_quaternion.so</code> in the same directory as the <code>__init__.py</code> file, which seems to contain the relevant symbols.  <a href="https://travis-ci.org/moble/numpy_quaternion" rel="nofollow noreferrer">Travis-CI</a> shows that it works just fine in 2.7 (and the other tests pass), but fails in 3.2 and 3.4.  So it's not just something wrong with my python installation.  I tried to remove the <code>.</code> for the relative import, but python couldn't find the <code>numpy_quaternion</code> from which to import (not surprising).  I tried changing it to <code>from quaternion.numpy_quaternion</code>, but I get the same error.</p>
  
  <p>I see that <a href="https://stackoverflow.com/questions/12172791/changes-in-import-statement-python3">there have been changes to the import system in python 3</a>, but if anything, I would have guessed that this would be <em>more</em> py3k-compliant than other ways of doing it.  What's going wrong?  How can I get this to work?</p>
  
  <p>Just to clarify, my hierarchy looks like this:</p>
  
  <pre><code>.../site-packages/
      quaternion/
          __init__.py
          numpy_quaternion.so
  </code></pre>
  
  <p>and the only thing that comes before the problematic line is <code>import numpy as np</code>, which generally succeeds with no problem.</p>