Python ImportError:无法导入名称签名

Python ImportError:无法导入名称签名,python,machine-learning,scikit-learn,artificial-intelligence,Python,Machine Learning,Scikit Learn,Artificial Intelligence,我正在修改原始的sklearn.CalibrationCV,以创建我的WIN版本。原始代码有“from.utils.fixes导入签名”。因此,我在我的版本中做了以下操作: from sklearn.utils.fixes import signature 但有一个错误: ImportError: cannot import name signature 当检查GitHub上的sklearn源代码时。我在fixes.py中看到了以下代码: try: from inspect impo

我正在修改原始的
sklearn.CalibrationCV
,以创建我的WIN版本。原始代码有“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
然后我直接从检查进口签名中执行了
。仍然获取“
ImportError:无法导入名称签名

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

  • 在python 2中,模块没有
    签名
    方法
  • 在Python3中,模块确实有一个
    签名
    方法
这段代码只是尝试使用Python2和Python3


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

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

请直接使用安装
funcsigs

pip install funcsigs

并使用funcsigs导入签名的

谢谢。当我尝试“from sklearn.externals.funcsigs import signature”时,收到消息“ImportError:没有名为funcsigs的模块”。有什么建议吗?您可以安装
funcsigs
模块吗?谢谢!德诺泽!安装funcsigs后,导入签名生效。“从funcsigs导入签名”