我正在尝试在Python 2中运行Python 3库。它使用inspect
模块和signature
方法,该方法未在模块的Python 2版本中实现。
signature = inspect.signature(initializer)
__future__
中没有可以提供帮助的实现(至少我没有找到)。
如何更换此方法?
答案 0 :(得分:4)
PyPI上的包funcsigs
是PEP-362的后端(它为Python 2.6+添加了签名内省)。因此,将有问题的行更改为
import funcsigs
signature = funcsigs.signature(initializer)
答案 1 :(得分:0)
inspect2
是将整个 Python 3.6 inspect
模块向后移植到 Python 2.7。与 funcsigs
一样,它也可以从 PyPI 获得,而 inspect2
是最近维护的。 (在我撰写本文时,inspect2
上次更新是在 2019 年,而 funcsigs
上次更新是在 2016 年。)