SyntaxError: invalid syntax when i import avro in python3
Asked Answered
T

2

7

I just want to import avro in python3. And I get error just import avro schema.

import os
import string
import sys

from avro import schema
...
# others are not matter

And I can only read

Traceback (most recent call last):
  File "/home/ktz/IdeaProjects/HadoopExample/src/main/python/chap4/writer_pairs.py", line 5, in <module>
    from avro import schema
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 896, in _find_spec
  File "<frozen importlib._bootstrap_external>", line 1139, in find_spec
  File "<frozen importlib._bootstrap_external>", line 1115, in _get_spec
  File "<frozen importlib._bootstrap_external>", line 1096, in _legacy_get_spec
  File "<frozen importlib._bootstrap>", line 444, in spec_from_loader
  File "<frozen importlib._bootstrap_external>", line 533, in spec_from_file_location
  File "/usr/local/lib/python3.5/dist-packages/avro-1.8.1-py3.5.egg/avro/schema.py", line 340
    except Exception, e:
                    ^
SyntaxError: invalid syntax

Sorry for that I`m first in Python..

Theophany answered 29/1, 2017 at 18:21 Comment(5)
Remove the comma in file and write as instead (so except Exception as e:)Vizzone
Possible duplicate of how to read avro files in python 3.5.2Latreese
See this: #40732919Latreese
That's strange. It says "avro-1.8.1-py3.5.egg", which would seem to be targeted for Python 3.5, but the error message is pointing to Python 2-specific syntax. This might be a library bug.Localize
@Latreese Hm... maybe it could be.. but I`ll remain this for newbie in python just like me. Thanks!Theophany
M
6

You are using python2 version of avro code in python3. if you run the same using python2 then there won't be the error otherwise install python3 compatible avro.

Morissa answered 29/1, 2017 at 18:26 Comment(3)
You're right! Really I appreciate for your kindness.. It`s very helpful for me!! @MorissaTheophany
glad to be helpful.Morissa
This is outdated now for folks using a up-to-date avro and Python 3.Windlass
C
22

you need to use the package avro-python3 instead of avro if you're using Python3

Curitiba answered 25/4, 2017 at 9:39 Comment(1)
This is outdated now for folks using a up-to-date avro and Python 3.Windlass
M
6

You are using python2 version of avro code in python3. if you run the same using python2 then there won't be the error otherwise install python3 compatible avro.

Morissa answered 29/1, 2017 at 18:26 Comment(3)
You're right! Really I appreciate for your kindness.. It`s very helpful for me!! @MorissaTheophany
glad to be helpful.Morissa
This is outdated now for folks using a up-to-date avro and Python 3.Windlass

© 2022 - 2024 — McMap. All rights reserved.