首页 > 解决方案 > 在 python shell 中导入 pybrain 时出错

问题描述

我试图导入 pybrain,它在下面给了我这个错误。

>>>import pybrain

错误:

Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    import pybrain
  File "C:\Program Files\Python37\lib\site-packages\pybrain\__init__.py", line 1, in <module>
    from pybrain.structure.__init__ import *
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\__init__.py", line 2, in <module>
    from pybrain.structure.modules.__init__ import *
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\modules\__init__.py", line 2, in <module>
    from pybrain.structure.modules.gate import GateLayer, DoubleGateLayer, MultiplicationLayer, SwitchLayer
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\modules\gate.py", line 10, in <module>
    from pybrain.tools.functions import sigmoid, sigmoidPrime
  File "C:\Program Files\Python37\lib\site-packages\pybrain\tools\functions.py", line 4, in <module>
    from scipy.linalg import inv, det, svd, logm, expm2
ImportError: cannot import name 'expm2' from 'scipy.linalg' (C:\Users\Rahul Bansal\AppData\Roaming\Python\Python37\site-packages\scipy\linalg\__init__.py)

或者如果尝试

>>> from pybrain.structure.__init__ import *

Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    from pybrain.structure.__init__ import *
  File "C:\Program Files\Python37\lib\site-packages\pybrain\__init__.py", line 1, in <module>
    from pybrain.structure.__init__ import *
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\__init__.py", line 2, in <module>
    from pybrain.structure.modules.__init__ import *
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\modules\__init__.py", line 2, in <module>
    from pybrain.structure.modules.gate import GateLayer, DoubleGateLayer, MultiplicationLayer, SwitchLayer
  File "C:\Program Files\Python37\lib\site-packages\pybrain\structure\modules\gate.py", line 10, in <module>
    from pybrain.tools.functions import sigmoid, sigmoidPrime
  File "C:\Program Files\Python37\lib\site-packages\pybrain\tools\functions.py", line 4, in <module>
    from scipy.linalg import inv, det, svd, logm, expm2
ImportError: cannot import name 'expm2' from 'scipy.linalg' (C:\Users\Rahul Bansal\AppData\Roaming\Python\Python37\site-packages\scipy\linalg\__init__.py)

请帮我正确导入pybrain。

标签: pythonimporterrorpybrain

解决方案


scipy.linalg.expm2在 0.13.0 版本中贬值(当前版本为 1.4.1)。我不知道您使用的是哪一个 - pybrainpybrain3包,但两者看起来都已经过时了 - 最后一次提交是在 2017 年

编辑:您有 3 个选项:

  • 使用 scipy 0.13.0 之前的版本,而不是最新的 1.4.1
  • 联系pbrain作者,使其与最新版本的 scipy 或
  • 寻找替代品pbrain

推荐阅读