在cmd中执行from sklearn.datasets import load_iris
竟然报错了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\resus\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\__init__.py", line 82, in <module>
from .base import clone
File "C:\Users\resus\AppData\Local\Programs\Python\Python38\lib\site-packages\sklearn\base.py", line 13, in <module>
import numpy as np
File "C:\Users\resus\AppData\Roaming\Python\Python38\site-packages\numpy\__init__.py", line 143, in <module>
from . import _distributor_init
File "C:\Users\resus\AppData\Roaming\Python\Python38\site-packages\numpy\_distributor_init.py", line 26, in <module>
WinDLL(os.path.abspath(filename))
File "C:\Users\resus\AppData\Local\Programs\Python\Python38\lib\ctypes\__init__.py", line 373, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
我回想了刚才的操作:
我卸载了python3.8-32,也就是卸载了32位的python3.8,然后下载了64位的python3.8。为了使用sklearn
,我执行了pip install sklearn
,然后就报了上面的错。
从上面的报错信息,尤其是这个:
File "C:\Users\resus\AppData\Roaming\Python\Python38\site-packages\numpy\_distributor_init.py", line 26, in <module>
WinDLL(os.path.abspath(filename))
我追踪了C:\Users\resus\AppData\Roaming\Python\Python38\
这个目录:
为什么还是2021年的文件,我明明刚刚执行了pip install sklearn
。现在要做的就是把C:\Users\resus\AppData\Roaming\Python
删掉,重新执行pip install sklearn
。
这就解决问题了。
如果你之前还执行过pip install jupyter notebook
,那就也要把C:\Users\resus\AppData\Roaming\jupyter
然后重新下载。