You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows8.1系统Python3.10环境Jupyter Notebook安装scikit-learn失败

完整报错日志
ERROR: Command errored out with exit status 1:
   command: 'G:\python\python.exe' 'G:\python\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\Zaid\AppData\Local\Temp\tmp9x904_3n'
       cwd: C:\Users\Zaid\AppData\Local\Temp\pip-install-hkon2hc1\scikit-learn_da5359c4d7ad4dadb4a1f14623e7a4ac
  Complete output (46 lines):
  Partial import of sklearn during the build process.
  No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
  Traceback (most recent call last):
    File "G:\python\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 363, in <module>
      main()
    File "G:\python\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "G:\python\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py", line 164, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\setuptools\build_meta.py", line 174, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\setuptools\build_meta.py", line 267, in run_setup
      super(_BuildMetaLegacyBackend,
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\setuptools\build_meta.py", line 158, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 319, in <module>
      setup_package()
    File "setup.py", line 315, in setup_package
      setup(**metadata)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\numpy\distutils\core.py", line 135, in setup
      config = configuration()
    File "setup.py", line 201, in configuration
      config.add_subpackage("sklearn")
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\numpy\distutils\misc_util.py", line 1016, in add_subpackage
      config_list = self.get_subpackage(subpackage_name, subpackage_path,
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\numpy\distutils\misc_util.py", line 982, in get_subpackage
      config = self._get_configuration_from_setup_py(
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\numpy\distutils\misc_util.py", line 924, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "sklearn\setup.py", line 85, in configuration
      cythonize_extensions(top_path, config)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-install-hkon2hc1\scikit-learn_da5359c4d7ad4dadb4a1f14623e7a4ac\sklearn\_build_utils\__init__.py", line 47, in cythonize_extensions
      basic_check_build()
    File "C:\Users\Zaid\AppData\Local\Temp\pip-install-hkon2hc1\scikit-learn_da5359c4d7ad4dadb4a1f14623e7a4ac\sklearn\_build_utils\pre_build_helpers.py", line 113, in basic_check_build
      compile_test_program(code)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-install-hkon2hc1\scikit-learn_da5359c4d7ad4dadb4a1f14623e7a4ac\sklearn\_build_utils\pre_build_helpers.py", line 70, in compile_test_program
      ccompiler.compile(
    File "G:\python\lib\distutils\_msvccompiler.py", line 323, in compile
      self.initialize()
    File "G:\python\lib\distutils\_msvccompiler.py", line 220, in initialize
      vc_env = _get_vc_env(plat_spec)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\setuptools\msvc.py", line 316, in msvc14_get_vc_env
      return _msvc14_get_vc_env(plat_spec)
    File "C:\Users\Zaid\AppData\Local\Temp\pip-build-env-ozjc6kz_\overlay\Lib\site-packages\setuptools\msvc.py", line 270, in _msvc14_get_vc_env
      raise distutils.errors.DistutilsPlatformError(
  distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required.
报错原因

该问题出现在Windows 8.1 + Python 3.10环境下安装scikit-learn时,核心原因是系统缺少Microsoft Visual C++ 14.0及以上版本的编译工具链。当pip无法找到适配当前环境的预编译scikit-learn wheel包时,会自动尝试从源码构建安装,而源码构建依赖C++编译环境,缺失该环境就会触发上述报错。

解决方案
  • 方案1(优先推荐,无需安装大体积编译工具)
    首先升级pip、setuptools、wheel组件到最新版本,执行命令:
    pip install --upgrade pip setuptools wheel
    
    升级完成后重新尝试安装scikit-learn:
    pip install scikit-learn
    
    若仍触发编译报错,可安装适配Python3.10和Windows 8.1的稳定预编译版本:
    pip install scikit-learn==1.1.3
    
    该版本官方提供了完备的Windows平台预编译包,无需本地编译即可直接安装使用。
  • 方案2(适合需要使用最新版scikit-learn的场景)
    安装Microsoft C生成工具,安装过程中勾选「桌面使用C开发」工作负载,等待安装完成后重启命令行/Jupyter环境,再重新执行scikit-learn安装命令即可。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:15:07