importorror:无法导入名称signatu

2024-05-18 10:08:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图修改原始的sklearn.CalibrationCV来创建我的获胜版本。原始代码有“from.utils.fixes import signature”。所以我在我的版本中做了如下操作:

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

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


Tags: 代码namefromimport版本github错误utils
1条回答
网友
1楼 · 发布于 2024-05-18 10:08:27
  • 在python 2中,^{}模块没有signature方法。
  • 在python 3中,^{}模块确实有一个signature方法。

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

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

相关问题 更多 >