I was attempting to import avro and encountered this error.

$ python
Python 3.5.1 |Continuum Analytics, Inc.| (default, Dec  7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from avro import io
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/me/anaconda/envs/py35/lib/python3.5/site-packages/avro/io.py", 
line 200
    bits = (((ord(self.read(1)) & 0xffL)) |
                                      ^
SyntaxError: invalid syntax

Going back to pip I noticed there’s a “avro-python3” package so I uninstalled 
the “avro” package and installed that since I am using Python 3.5.1. Now I can 
import io, but I have a different error:

$ python
Python 3.5.1 |Continuum Analytics, Inc.| (default, Dec  7 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from avro.io import validate
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name ‘validate'

I’d like to use this library 
https://github.com/linkedin/python-avro-json-serializer 
<https://github.com/linkedin/python-avro-json-serializer> which imports 
validate. Unless there’s some other way to get the same functionality using 
avro directly? Essentially, I have a Python dict representing AVRO data and a 
Python dict representing the AVRO Schema I want to use. I just need to generate 
JSON with type annotations and all that jazz that AVRO requires.

This should be easy, no? I feel like I’m missing something here.

Reply via email to