【问题标题】:ImportError: DLL load failed sklearn or scipyImportError:DLL 加载失败 sklearn 或 scipy
【发布时间】:2020-09-08 15:14:39
【问题描述】:

好的,我在 GitHub 和 Stackoverflow 上看到了至少 8 个版本的问题,但没有解决方案。此外,它的出现似乎比过去更晚(参见最后的参考资料)

当我尝试简单导入 Sklearn 时,我不断收到“导入错误:DLL 加载失败”

import scipy
# works
import sklearn
# crashes
import scipy.linalg
# crashes
print(sklearn.__version__)

完整的错误输出:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\sklearn\__init__.py", line 80, in <module>
    from .base import clone
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\sklearn\base.py", line 21, in <module>
    from .utils import _IS_32BIT
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\sklearn\utils\__init__.py", line 27, in <module>
    from .fixes import np_version
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\sklearn\utils\fixes.py", line 18, in <module>
    import scipy.stats
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\stats\__init__.py", line 384, in <module>
    from .stats import *
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\stats\stats.py", line 179, in <module>
    from scipy.spatial.distance import cdist
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\spatial\__init__.py", line 102, in <module>
    from ._procrustes import procrustes
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\spatial\_procrustes.py", line 11, in <module>
    from scipy.linalg import orthogonal_procrustes
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\linalg\__init__.py", line 195, in <module>
    from .misc import *
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\linalg\misc.py", line 5, in <module>
    from .blas import get_blas_funcs
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "C:\Users\Sam\Documents\thesiscode\venv\lib\site-packages\scipy\linalg\blas.py", line 215, in <module>
    from scipy.linalg import _fblas
  File "C:\Program Files\JetBrains\PyCharm 2020.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: The specified module could not be found.

我知道这是指这是一个 SciPy 问题,但我无法终生修复它。我已经阅读了几乎所有问题,但没有解决办法。我试过了:

  • 使用标准包卸载并重新安装 SciPy、scikit-learn、numpy 等。

  • 使用具有正确文件名的pip install --upgrade --force-reinstall "numpy‑1.16.3+mkl‑cp37‑cp37m‑win32.whl"https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 卸载并重新安装所有带有非官方软件包(.whl 文件)的软件包

  • 将 SciPy 和 scikit-learn 降级到早期版本

  • 我已经在 PyCharm 中销毁并创建了新的虚拟环境,并尝试通过 Project Interpreter 使用它们的安装(是的,我也仔细检查了解释器路径是否正确)

我尝试了更多与包、路径和安装相关的方法,但 DLL 加载错误仍然存​​在。如何解决此错误?有谁知道这是什么原因?从网上看,它似乎与 Windows 10、PyCharm 和 SciPy 直接相关

环境信息:

  • 运行 Windows 10 的标准戴尔

  • 运行 Python 3.7.7 的 PyCharm 2020 专业版

  • scipy 1.4.1(已尝试 1.4.0)

  • scikit-learn 0.23.1(试过 0.22.1?和 0.21.3)

  • numpy 1.18.4(在第一个链接中建议尝试过 numpy+MKL .whl 包)

这里是所有问题和 GitHub sklearn 家伙谈论它的链接,但他们说这是一个“使用错误”。这些都没有给我任何解决方案

Error importing scikit-learn modules

https://github.com/scikit-learn/scikit-learn/issues/15899

sklearn. ImportError: DLL load failed

ImportError when importing certain modules from SciPY

ImportError: DLL load failed, with import sklearn

【问题讨论】:

  • 什么是sklearn 0.0
  • 我也觉得很奇怪,但那是我每次检查时的版本号。
  • 这很可能是错误的原因。尝试卸载并重新安装 scikit-learn。
  • 还有其他方法吗?我已经在所有软件包上尝试了 10 次 pip 卸载,并在 PyCharm 上尝试了卸载/安装。

标签: python dll scikit-learn scipy


【解决方案1】:

似乎这是 Windows、PyCharm 和 Sklearn 组合的问题。我切换到运行 Pycharm 和 Sklearn 的 Linux VM,它运行良好。

【讨论】:

    猜你喜欢
    • 2021-01-19
    • 2020-04-04
    • 2018-04-07
    • 2016-07-13
    • 2016-03-03
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多