制作的
代码下面是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。
python 2不支持metaclass
关键字参数到类,而PYRLP在2018年4月删除对Python 2的支持。
改用Python 3。
pip install protobuf==3.17.3
通常应解决问题。
元素的python 2"语法"是一个魔术类属性:
class Atomic(object):
__metaclass__ = abc.ABCMeta
ABC软件包还使用Abcmeta具有常规类,该类允许使用继承:
class Atomic(abc.ABC):
pass
请注意,除非您想修补库,否则应改用Python 3。该库不是为Python2。