You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10下pip安装sklearn遇EnvironmentError报错求助

解决Windows 10下pip安装scikit-learn时的文件缺失&VS编译错误

嘿,我之前在Windows 10上用Python 3.8装scikit-learn时也踩过几乎一模一样的坑,给你几个亲测有效的解决办法,咱们一步步来:

一、先搞定核心的文件缺失报错

你看到的那个找不到的.json.gz文件,是scikit-learn自带的测试用OpenML数据集缓存,根本不用手动去GitHub拖整个仓库,试试这几个更高效的方案:

  • 方案1:强制安装预编译二进制包,跳过数据集校验
    直接用这条pip命令,清空缓存+强制用wheel包(避免源码编译触发数据集检查):

    pip install scikit-learn --no-cache-dir --no-deps --only-binary :all:
    

    解释下:--no-cache-dir会删掉pip之前缓存的损坏安装包,--only-binary :all:让pip直接下载预编译好的wheel文件,不会去拉源码编译,自然也就不会校验那些测试数据集了。

  • 方案2:换国内镜像源解决网络导致的下载不全
    有时候是网络波动导致安装包没下完整,换清华源试试:

    pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir
    
  • 方案3:手动下载wheel包本地安装

    1. 去PyPI找scikit-learn的页面,下载和你Python版本、系统匹配的wheel包(比如Python3.8+Win64的话,找scikit_learn-*cp38-win_amd64.whl格式的文件)
    2. 打开命令行切到下载目录,运行:
    pip install 你下载的文件名.whl
    

二、解决源码安装时的VS错误

你用python setup.py install出VS错误,是因为scikit-learn源码编译需要完整的C++编译环境,其实没必要走源码安装(除非你要改代码),如果一定要试的话:

  • 先装Microsoft Visual C++ Build Tools 2019,安装时必须勾选「C++ build tools」组件,还有和你Windows10版本匹配的Windows SDK
  • 安装完后,一定要打开x64 Native Tools Command Prompt for VS 2019(这个命令行会自动配置编译环境变量),再运行:
    python setup.py install --skip-build
    
    --skip-build是跳过测试环节,避免又触发数据集相关的问题。

三、兜底的彻底清理步骤

如果上面的方法都不管用,先彻底清掉残留文件再重装:

  • 卸载所有相关包:
    pip uninstall -y scikit-learn scipy numpy
    
  • 删除pip缓存:打开C:\Users\Rik\AppData\Local\pip\Cache,清空所有文件
  • 删除site-packages里的残留:找到C:\Users\Rik\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages,删掉所有带sklearnscikit-learn的文件夹
  • 然后再用方案1的命令重新安装

内容的提问来源于stack exchange,提问作者Chuckster

火山引擎 最新活动