下面的代码是来自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自从导入项目以来,我还没有修改过它。有人能告诉我这是怎么回事吗?
另外,我在这个项目中使用的解释器是Python2.7。
发布于 2019-02-23 16:12:35
Python2不支持类和pyrlp dropped support for Python 2 in April 2018的metaclass关键字参数。
请改用Python 3。
发布于 2019-02-23 16:42:28
元类的Python 2“语法”是一个神奇的类属性:
class Atomic(object):
__metaclass__ = abc.ABCMetaabc包还有一个使用ABCMeta的常规类,它允许使用继承:
class Atomic(abc.ABC):
pass请注意,除非您想对库打补丁,否则应该使用Python 3。该库不是为Python 2创建的。
https://stackoverflow.com/questions/54839478
复制相似问题