python - ImportError:DLL 加载失败 sklearn 或 scipy
问题描述
好的,我在 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 等。
使用正确的文件名从https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy卸载并重新安装所有带有非官方软件包(.whl 文件)的软件包
pip install --upgrade --force-reinstall "numpy‑1.16.3+mkl‑cp37‑cp37m‑win32.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 家伙谈论它的链接,但他们说这是一个“使用错误”。这些都没有给我任何解决方案
解决方案
似乎这是一个 Windows、PyCharm 和 Sklearn 组合问题。我切换到运行 Pycharm 和 Sklearn 的 Linux VM,它运行良好。
推荐阅读
- javascript - 根据值重新排序数组
- sql - 根据条件插入行
- java - 在运行与 JVM 兼容的程序(Java、Kotlin、Scala 等)时,如何更改 JVM 实现(例如 HotSpot、GraalVM、OpenJ9 等)?
- reactjs - 改变语言系统的方向问题
- angular - Angular Firestore 在按钮单击时更新特定文档字段
- java - 在 Eclipse 中向现有的 gui 组件添加功能
- laravel - 在 Docker 容器中运行 Laravel 应用,但 autoload.php 文件不存在
- java - android.app.RemoteServiceException:startForeground 的错误通知
- acumatica - Acumatica 和仪表板参数以及选择器和 PKID
- node.js - 将图像从公共 Docker Hub 拉取到 AWS Elastic Beanstalk 多个容器