ImportError:DLL加载失败sklearn或scipy

时间:2020-05-21 21:07:11

标签: python dll scikit-learn scipy

好的,我已经看到至少有8个版本的该问题散布在GitHub和Stackoverflow上,没有任何解决方法。此外,它似乎比过去弹出得更多(请参阅最后的参考资料)

当我尝试简单地导入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的标准Dell

  • 运行Python 3.7.7的PyCharm 2020 Pro Edition

  • scipy 1.4.1(尝试1.4.0)

  • scikit学习0.23.1(尝试0.22.1?和0.21.3)

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

这里是所有问题,还有指向sklearn的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

1 个答案:

答案 0 :(得分:0)

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