sklearn import fail because of scipy. OSError: [WinError 126] The specified module could not be found
sklearn import fail because of scipy. OSError: [WinError 126] The specified module could not be found
简介
我需要使用 'sklearn.cluster' 中的 'KMeans' 函数。我在 PyCharm 上使用 Python 3.7 和 virtualvenv 环境。我可以添加必要的包以便使用 pip 来使用 'sklearn'(我的意思是 'numpy'、'scipy'、'scikit-learn'...)。不幸的是,当我 运行 导入 'sklearn' 的 python 文件时出现错误。我不知道为什么会出现错误,我该如何解决...
我的问题是无法导入。当我 运行 from sklearn.cluster import KMeans
时,它 returns "OSError: [WinError 126]" :
Traceback (most recent call last):
File "C:/Users/username/PycharmProjects/Test2/main.py", line 3, in <module>
import sklearn
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\__init__.py", line 80, in <module>
from .base import clone
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\base.py", line 21, in <module>
from .utils import _IS_32BIT
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\__init__.py", line 20, in <module>
from scipy.sparse import issparse
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\__init__.py", line 136, in <module>
from . import _distributor_init
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\_distributor_init.py", line 61, in <module>
WinDLL(os.path.abspath(filename))
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\ctypes\__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
我认为软件包版本有问题。如果你想查看包版本(pip freeze 结果):
numpy==1.19.3
scikit-learn==0.23.2
scipy==1.5.4
sklearn==0.0
threadpoolctl==2.1.0
编辑
我发现 scipy 版本有问题。当我运行 'import scipy' 出现同类型的错误(OSError: [WinError 126] The specified module could not be found)。一个解决方案是将 scipy 1.5.4 降级到 scipy 1.4.1(参考 )。 [WinError 126] 错误消失。
不幸的是,另一个问题来了。现在当我 运行 from sklearn.cluster import KMeans
时,出现了这个错误:
Traceback (most recent call last):
File "C:/Users/username/PycharmProjects/Test2/main.py", line 1, in <module>
from sklearn.cluster import KMeans
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\__init__.py", line 80, in <module>
from .base import clone
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\base.py", line 21, in <module>
from .utils import _IS_32BIT
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\__init__.py", line 23, in <module>
from .class_weight import compute_class_weight, compute_sample_weight
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\class_weight.py", line 7, in <module>
from .validation import _deprecate_positional_args
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\validation.py", line 25, in <module>
from .fixes import _object_dtype_isnan, parse_version
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\fixes.py", line 18, in <module>
import scipy.stats
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\stats\__init__.py", line 384, in <module>
from .stats import *
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\stats\stats.py", line 179, in <module>
from scipy.spatial.distance import cdist
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\spatial\__init__.py", line 99, in <module>
from .qhull import *
ImportError: DLL load failed: The specified module could not be found.
这似乎是一个更常见的错误,所以我正在检查。
我找到了一个解决方案:使用 conda python 解释器。 PyCharm.
的 virtualvenv 环境可能有问题
如果您需要更多详细信息,请查看这个众所周知的 post:In pycharm ImportError: DLL load failed: The specified module could not be found. while importing facerecognition
我遇到了类似的问题,我的解决方案是设置一个新的虚拟环境并使用 python 3.9 解释器而不是 3.7。
这样ImportError: DLL load failed: The specified module could not be found。也解决了。
我希望你已经解决了这个问题,但也许其他人将来会遇到这个问题
简介
我需要使用 'sklearn.cluster' 中的 'KMeans' 函数。我在 PyCharm 上使用 Python 3.7 和 virtualvenv 环境。我可以添加必要的包以便使用 pip 来使用 'sklearn'(我的意思是 'numpy'、'scipy'、'scikit-learn'...)。不幸的是,当我 运行 导入 'sklearn' 的 python 文件时出现错误。我不知道为什么会出现错误,我该如何解决...
我的问题是无法导入。当我 运行 from sklearn.cluster import KMeans
时,它 returns "OSError: [WinError 126]" :
Traceback (most recent call last):
File "C:/Users/username/PycharmProjects/Test2/main.py", line 3, in <module>
import sklearn
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\__init__.py", line 80, in <module>
from .base import clone
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\base.py", line 21, in <module>
from .utils import _IS_32BIT
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\__init__.py", line 20, in <module>
from scipy.sparse import issparse
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\__init__.py", line 136, in <module>
from . import _distributor_init
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\_distributor_init.py", line 61, in <module>
WinDLL(os.path.abspath(filename))
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.2544.0_x64__qbz5n2kfra8p0\lib\ctypes\__init__.py", line 364, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
我认为软件包版本有问题。如果你想查看包版本(pip freeze 结果):
numpy==1.19.3
scikit-learn==0.23.2
scipy==1.5.4
sklearn==0.0
threadpoolctl==2.1.0
编辑
我发现 scipy 版本有问题。当我运行 'import scipy' 出现同类型的错误(OSError: [WinError 126] The specified module could not be found)。一个解决方案是将 scipy 1.5.4 降级到 scipy 1.4.1(参考
不幸的是,另一个问题来了。现在当我 运行 from sklearn.cluster import KMeans
时,出现了这个错误:
Traceback (most recent call last):
File "C:/Users/username/PycharmProjects/Test2/main.py", line 1, in <module>
from sklearn.cluster import KMeans
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\__init__.py", line 80, in <module>
from .base import clone
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\base.py", line 21, in <module>
from .utils import _IS_32BIT
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\__init__.py", line 23, in <module>
from .class_weight import compute_class_weight, compute_sample_weight
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\class_weight.py", line 7, in <module>
from .validation import _deprecate_positional_args
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\validation.py", line 25, in <module>
from .fixes import _object_dtype_isnan, parse_version
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\sklearn\utils\fixes.py", line 18, in <module>
import scipy.stats
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\stats\__init__.py", line 384, in <module>
from .stats import *
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\stats\stats.py", line 179, in <module>
from scipy.spatial.distance import cdist
File "C:\Users\username\PycharmProjects\Test2\venv\lib\site-packages\scipy\spatial\__init__.py", line 99, in <module>
from .qhull import *
ImportError: DLL load failed: The specified module could not be found.
这似乎是一个更常见的错误,所以我正在检查。
我找到了一个解决方案:使用 conda python 解释器。 PyCharm.
的 virtualvenv 环境可能有问题如果您需要更多详细信息,请查看这个众所周知的 post:In pycharm ImportError: DLL load failed: The specified module could not be found. while importing facerecognition
我遇到了类似的问题,我的解决方案是设置一个新的虚拟环境并使用 python 3.9 解释器而不是 3.7。
这样ImportError: DLL load failed: The specified module could not be found。也解决了。
我希望你已经解决了这个问题,但也许其他人将来会遇到这个问题