繁体   English   中英

ImportError:无法导入名称签名

[英]ImportError: cannot import name signature

我想修改原始的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

并改用from funcsigs import signature

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM