Проблема
Я начинаю изучать машинное обучение, в одном из примеров курса используется пакет scikit-learn, и нам необходимо установить и применить то, что мы сделали до сих пор. Тем не менее, я попытался установить пакет, как инструктор курса, предложенный pip install scikit-learn
во время установки, numpy, scipy, threadpoolctl и joblib были установлены в качестве предварительного условия для scikit-learn. Пока все хорошо, все было установлено без проблем. Но после этого, когда я пытаюсь импортировать пакет scikit-learn, например
from sklearn.tree import DecisionTreeRegressor
, я получаю следующую ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\hema-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\__init__.py", line 74, in <module>
from .base import clone
File "C:\Users\hema-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\base.py", line 20, in <module>
from .utils import _IS_32BIT
File "C:\Users\hema-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\utils\__init__.py", line 18, in <module>
from scipy.sparse import issparse
File "C:\Users\hema-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\scipy\__init__.py", line 136, in <module>
from . import _distributor_init
File "C:\Users\hema-\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\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.2288.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
Дело касается не только указанной выше строки импорта. , даже если я попытаюсь использовать только import sklearn
, я получаю ту же ошибку.
После некоторых исследований и, как это рекомендовано на странице пакета , я использовал отдельные venv
и установите туда пакет вместе с его зависимостями, чтобы избежать конфликтов. К сожалению, я все еще получаю ту же ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Machine Learning\ml_demo\machine_learning_env\lib\site-packages\sklearn\__init__.py", line 80, in <module>
from .base import clone
File "D:\Machine Learning\ml_demo\machine_learning_env\lib\site-packages\sklearn\base.py", line 21, in <module>
from .utils import _IS_32BIT
File "D:\Machine Learning\ml_demo\machine_learning_env\lib\site-packages\sklearn\utils\__init__.py", line 20, in <module>
from scipy.sparse import issparse
File "D:\Machine Learning\ml_demo\machine_learning_env\lib\site-packages\scipy\__init__.py", line 136, in <module>
from . import _distributor_init
File "D:\Machine Learning\ml_demo\machine_learning_env\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.2288.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
Что еще я пробовал?
- Я попытался переустановить.
- Я также попытался установить wheel версия пакетов скачана с здесь . Однако возникла другая проблема: когда я пытаюсь установить колесо с помощью
pip install scikit_learn-0.23.1-cp39-cp39-win_amd64.whl
, я получаю следующую ошибку:
ERROR: scikit_learn-0.23.1-cp39-cp39-win_amd64.whl is not a supported wheel on this platform.
Тем не менее я решил эту проблему, используя параметр --no-binary
как указано здесь .
Моя среда
- Я использую Python 3.7.8
- OS Windows10
- Список пакетов venv (мысль может помочь)
joblib 0.16.0 numpy 1.19.1 пункт 20.1.1 scikit-learn 0.23.1 scipy 1.5.2 setuptools 47.1.0 threadpoolctl 2.1.0