ImportError:无法导入名称签名



我将修改原始sklearn.CalibrationCV以创建我的获胜版本。原始代码具有"from.utils.fixes导入签名"。所以我在我的版本中做了以下操作:

from sklearn.utils.fixes import signature

但出现错误:

ImportError: cannot import name signature

在GitHub上检查sklearn源代码时。我在fixes.py中看到以下代码:

try:
    from inspect import signature
except ImportError:
    from ..externals.funcsigs import signature

然后我直接做了from inspect import signature。仍获得"ImportError: cannot import name signature"

除了如何解决这个问题,我还很好奇为什么原始版本可以导入将从另一个源导入的模块?谢谢

  • 在python 2中,inspect模块没有signature方法
  • 在python 3中,inspect模块确实有一个signature方法

这段代码只是试图同时使用python 2和3。

如果您使用的是python 2,则可能需要使用funcsigs模块,或者直接使用sklearn.externals.funcsigs(对于版本sklearn >= 0.17)。

接受的答案不适用于最新版本的sklearn。

请使用直接安装funcsigs

pip install funcsigs

而使用CCD_ 13。

相关内容

  • 没有找到相关文章

最新更新