首页 > 解决方案 > 不理解这个关于元类的 SyntaxError

问题描述

下面的代码是 pyrlp 包中的 atomic.py,它是一个 pyethereum 库。

import abc


class Atomic(metaclass=abc.ABCMeta):
    """ABC for objects that can be RLP encoded as is."""
    pass


Atomic.register(bytes)
Atomic.register(bytearray)

这是来自控制台的错误信息:

from rlp.atomic import Atomic
  File "/Users/jerryin/Desktop/pyeth/pyrlp/rlp/atomic.py", line 4
    class Atomic(metaclass=abc.ABCMeta):
                          ^
SyntaxError: invalid syntax

自导入以来,我没有修改过该项目。谁能告诉我这有什么问题?

另外,我在这个项目中使用的解释器是 Python 2.7。

标签: pythonpython-2.7ethereum

解决方案


Python 2 不支持metaclass类的关键字参数,并且pyrlp 在 2018 年 4 月放弃了对 Python 2 的支持

请改用 Python 3。


推荐阅读