Python 导入错误:无法从“sklearn.externals”导入名称“6”

Jac*_*ack 14 python numpy python-import scikit-learn six

我正在使用 numpy 和 mlrose,到目前为止我写的所有内容是:

import numpy as np
import mlrose
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,它出现了一条错误消息:

 File "C:\Users\<my username>\AppData\Local\Programs\Python\Python38-32\lib\site-packages\mlrose\neural.py", line 12, in <module>
    from sklearn.externals import six
ImportError: cannot import name 'six' from 'sklearn.externals' (C:\Users\<my username>\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\externals\__init__.py)
Run Code Online (Sandbox Code Playgroud)

对解决此问题的任何帮助将不胜感激。

bca*_*tle 38

解决方案:真正的答案是依赖需要由mlrose维护者更改。

一种解决方法是:

import six
import sys
sys.modules['sklearn.externals.six'] = six
import mlrose
Run Code Online (Sandbox Code Playgroud)

  • 修复了依赖关系的较新版本的 mlrose 现在是 mlrose-hiive:https://pypi.org/project/mlrose-hiive/ 或 https://github.com/hiive/mlrose (3认同)