Simple import in python 3 errors with complaint about bytes
Mike Boyle
moboyle79 at outlook.com
Mon Oct 20 19:29:39 EDT 2014
I'm modifying an extension written with the c-api to have a datatype of quaternions <https://github.com/moble/numpy_quaternion>, with one of the goals being python 3 support. It works nicely in python 2.7, but for python 3.x gives an error that I can't find anywhere on the google. The directory looks like this:
.../site-packages/
quaternion/
__init__.py
numpy_quaternion.so
__init__.py contains a line like this:
from .numpy_quaternion import quaternion
But when it hits that line, python 3 throws its hands up in disgust:
> python -c 'import quaternion'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/mynamehere/.continuum/anaconda/envs/py3k/lib/python3.4/site-packages/quaternion/__init__.py", line 3, in <module>
from .numpy_quaternion import quaternion
TypeError: __import__() argument 1 must be str, not bytes
The only thing before that line is `import numpy as np`, which typically works just fine. Obviously, I'm using python3.4 to compile and (attempt to) import (with a conda environment), so it's not something as dumb as using the wrong python. Also, this is the result for both me on my laptop and Travis-CI <https://travis-ci.org/moble/numpy_quaternion>, so it doesn't seem to be anything peculiar to my installation. I've posted this question on stackoverflow, but haven't gotten much interest; the only responder suggested I ask here instead.
Any ideas what's going wrong, or where I can go from here?
Thanks,
Mike
More information about the Python-list
mailing list