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

Windows系统下使用pip安装库时构建依赖失败求助

问题描述

每次用pip安装Python库都出错,pip和Setuptools已更新至最新版本。在Windows系统执行pip install scikit-learn或pip install -U matplotlib时,均会在构建依赖环节失败,错误核心为distutils.errors.DistutilsPlatformError: VC 6.0 不被此模块支持,完整错误日志如下:

PS C:\Users\zaida\Documents\ML> pip install scikit-learn
正在收集scikit-learn
  使用缓存的scikit-learn-1.3.2.tar.gz (7.5 MB)
  安装构建依赖...错误
  error: subprocess-exited-with-error

  × 用于安装构建依赖的pip子进程未成功运行。
  │ 退出代码: 1
  ╰─> [70行输出]
      忽略oldest-supported-numpy: 标记'python_version != "3.10" or platform_system != "Windows" or platform_python_implementation == "PyPy"'与您的环境不匹配
      正在收集setuptools
        使用缓存的setuptools-69.0.3-py3-none-any.whl.metadata (6.3 kB)
      正在收集wheel
        使用缓存的wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB)
      正在收集Cython<3.0,>=0.29.33
        使用缓存的Cython-0.29.37-py2.py3-none-any.whl.metadata (3.1 kB)
      正在收集numpy==1.22.3
        使用缓存的numpy-1.22.3.zip (11.5 MB)
        安装构建依赖: 已启动
        安装构建依赖: 完成,状态为'done'
        获取构建wheel所需依赖: 已启动
        获取构建wheel所需依赖: 完成,状态为'error'
        error: subprocess-exited-with-error
     
        获取构建wheel所需依赖未成功运行。
        退出代码: 1
     
        [40行输出]
        Traceback (most recent call last):
          文件"C:\wang\mingw64\lib\python3.10\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",第353行,在<module>中
            main()
          文件"C:\wang\mingw64\lib\python3.10\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",第335行,在main中
            json_out['return_val'] = hook(**hook_input['kwargs'])
          文件"C:\wang\mingw64\lib\python3.10\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",第112行,在get_requires_for_build_wheel中
            backend = _build_backend()
          文件"C:\wang\mingw64\lib\python3.10\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py",第77行,在_build_backend中
            obj = import_module(mod_path)
          文件"C:\wang\mingw64\lib\python3.10\importlib\__init__.py",第126行,在import_module中
            return _bootstrap._gcd_import(name[level:], package, level)
          文件"<frozen importlib._bootstrap>",第1050行,在_gcd_import中
          文件"<frozen importlib._bootstrap>",第1027行,在_find_and_load中
          文件"<frozen importlib._bootstrap>",第992行,在_find_and_load_unlocked中
          文件"<frozen importlib._bootstrap>",第241行,在_call_with_frames_removed中
          文件"<frozen importlib._bootstrap>",第1050行,在_gcd_import中
          文件"<frozen importlib._bootstrap>",第1027行,在_find_and_load中
          文件"<frozen importlib._bootstrap>",第1006行,在_find_and_load_unlocked中
          文件"<frozen importlib._bootstrap>",第688行,在_load_unlocked中
          文件"<frozen importlib._bootstrap_external>",第887行,在exec_module中
          文件"<frozen importlib._bootstrap>",第241行,在_call_with_frames_removed中
          文件"C:\Users\zaida\AppData\Local\Temp\pip-build-env-dpsds_li\overlay\lib\python3.10\site-packages\setuptools\__init__.py",第242行,在<module>中
            monkey.patch_all()
          文件"C:\Users\zaida\AppData\Local\Temp\pip-build-env-dpsds_li\overlay\lib\python3.10\site-packages\setuptools\monkey.py",第99行,在patch_all中
            patch_for_msvc_specialized_compiler()
          文件"C:\Users\zaida\AppData\Local\Temp\pip-build-env-dpsds_li\overlay\lib\python3.10\site-packages\setuptools\monkey.py",第162行,在patch_for_msvc_specialized_compiler中
            patch_func(*msvc9('find_vcvarsall'))
          文件"C:\Users\zaida\AppData\Local\Temp\pip-build-env-dpsds_li\overlay\lib\python3.10\site-packages\setuptools\monkey.py",第149行,在patch_params中
            mod = import_module(mod_name)
          文件"C:\wang\mingw64\lib\python3.10\importlib\__init__.py",第126行,在import_module中
            return _bootstrap._gcd_import(name[level:], package, level)
          文件"<frozen importlib._bootstrap>",第1050行,在_gcd_import中
          文件"<frozen importlib._bootstrap>",第1027行,在_find_and_load中
          文件"<frozen importlib._bootstrap>",第1006行,在_find_and_load_unlocked中
          文件"<frozen importlib._bootstrap>",第688行,在_load_unlocked中
          文件"<frozen importlib._bootstrap_external>",第887行,在exec_module中
          文件"<frozen importlib._bootstrap>",第241行,在_call_with_frames_removed中
          文件"C:\Users\zaida\AppData\Local\Temp\pip-build-env-dpsds_li\overlay\lib\python3.10\site-packages\setuptools\_distutils\msvc9compiler.py",第295行,在<module>中
            raise DistutilsPlatformError("VC 6.0 不被此模块支持")
        distutils.errors.DistutilsPlatformError: VC 6.0 不被此模块支持
        [输出结束]
     
        note: 此错误源自子进程,大概率与pip无关。
      error: subprocess-exited-with-error
     
      获取构建wheel所需依赖未成功运行。
      退出代码: 1
     
      详见上方输出。
     
      note: 此错误源自子进程,大概率与pip无关。
      [输出结束]

  note: 此错误源自子进程,大概率与pip无关。
error: subprocess-exited-with-error

× 用于安装构建依赖的pip子进程未成功运行。
│ 退出代码: 1
╰─> 详见上方输出。

note: 此错误源自子进程,大概率与pip无关。
解决方案

方法1:强制使用预编译wheel包(最简单)

直接执行以下命令,跳过源码编译步骤,下载现成的Windows预编译包:

pip install scikit-learn matplotlib --only-binary :all:

方法2:替换为官方CPython版本

当前使用的是MinGW编译的Python,在Windows下易与MSVC工具链冲突,建议替换为官方版本:

  • 卸载当前MinGW的Python
  • 下载对应版本(3.10)的Windows官方Python安装包,安装时勾选"Add Python to PATH"
  • 重启终端后,重新执行pip install scikit-learn matplotlib

方法3:安装兼容的MSVC编译工具(若必须源码编译)

如果需要源码编译依赖,需安装对应版本的MSVC工具链:

  • 先确保setuptools和wheel为最新版:pip install -U setuptools wheel
  • 安装Visual Studio Build Tools,选择"Desktop development with C++"工作负载,包含MSVC v142及以上版本工具链
  • 重启终端,待环境变量生效后再执行安装命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:58:15