Python3.8.5安装ml-insights失败,需Microsoft Visual C++14.0及以上
安装ml-insights时的编译错误及解决办法
问题场景
Python版本:3.8.5
执行命令:pip install ml-insights
安装目标:ml-insights(也可称为ml_insights)
错误日志
正在收集 ml-insights 使用缓存的 ml_insights-1.0.1-py2.py3-none-any.whl (36 kB) 已满足依赖:matplotlib>=2.0.0(路径:c:\users\micha\documents\odsp\lib\site-packages),版本3.5.1 已满足依赖:scikit-learn>=0.24.2(路径:c:\users\micha\documents\odsp\lib\site-packages),版本1.0.2 已满足依赖:scipy>=1.6.0(路径:c:\users\micha\documents\odsp\lib\site-packages),版本1.8.0 已满足依赖:pandas>=0.23(路径:c:\users\micha\documents\odsp\lib\site-packages),版本1.4.2 已满足依赖:numpy>=1.16.0(路径:c:\users\micha\documents\odsp\lib\site-packages),版本1.22.3 正在收集 splinecalib>=0.0.2 使用缓存的 splinecalib-0.0.3.tar.gz (56 kB) 准备元数据(setup.py): 开始 准备元数据(setup.py): 完成,状态为'done' 已满足依赖:pyparsing>=2.2.1(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本3.0.8 已满足依赖:packaging>=20.0(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本21.3 已满足依赖:cycler>=0.10(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本0.11.0 已满足依赖:pillow>=6.2.0(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本9.1.0 已满足依赖:fonttools>=4.22.0(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本4.33.2 已满足依赖:python-dateutil>=2.7(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本2.8.2 已满足依赖:kiwisolver>=1.0.1(路径:c:\users\micha\documents\odsp\lib\site-packages),来自matplotlib>=2.0.0->ml-insights,版本1.4.2 已满足依赖:pytz>=2020.1(路径:c:\users\micha\documents\odsp\lib\site-packages),来自pandas>=0.23->ml-insights,版本2022.1 已满足依赖:threadpoolctl>=2.0.0(路径:c:\users\micha\documents\odsp\lib\site-packages),来自scikit-learn>=0.24.2->ml-insights,版本3.1.0 已满足依赖:joblib>=0.11(路径:c:\users\micha\documents\odsp\lib\site-packages),来自scikit-learn>=0.24.2->ml-insights,版本1.1.0 已满足依赖:six>=1.5(路径:c:\users\micha\documents\odsp\lib\site-packages),来自python-dateutil>=2.7->matplotlib>=2.0.0->ml-insights,版本1.16.0 为收集的包构建wheel:splinecalib 为splinecalib构建wheel(setup.py): 开始 为splinecalib构建wheel(setup.py): 完成,状态为'error' 为splinecalib执行setup.py clean 构建splinecalib失败 正在安装收集到的包:splinecalib, ml-insights 为splinecalib执行setup.py install: 开始 为splinecalib执行setup.py install: 完成,状态为'error' 错误:subprocess-exited-with-error python setup.py bdist_wheel执行失败。 退出码:1 [14行输出] 运行bdist_wheel 运行build 运行build_py 创建build 创建build\lib.win-amd64-cpython-38 创建build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\calib_utils.py -> build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\splinecalib.py -> build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\__init__.py -> build\lib.win-amd64-cpython-38\splinecalib 警告:build_py: 字节编译已禁用,跳过。 运行build_ext 构建'loss_fun_c'扩展模块 错误:需要Microsoft Visual C++ 14.0或更高版本。请通过Microsoft C++ Build Tools获取。 [输出结束] 注意:此错误来自子进程,大概率不是pip的问题。 错误:构建splinecalib的wheel失败 错误:subprocess-exited-with-error 为splinecalib执行setup.py install失败。 退出码:1 [16行输出] 运行install C:\Users\micha\Documents\Odsp\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install已被弃用。请使用build、pip及其他标准工具。 warnings.warn( 运行build 运行build_py 创建build 创建build\lib.win-amd64-cpython-38 创建build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\calib_utils.py -> build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\splinecalib.py -> build\lib.win-amd64-cpython-38\splinecalib 复制splinecalib\__init__.py -> build\lib.win-amd64-cpython-38\splinecalib 警告:build_py: 字节编译已禁用,跳过。 运行build_ext 构建'loss_fun_c'扩展模块 错误:需要Microsoft Visual C++ 14.0或更高版本。请通过Microsoft C++ Build Tools获取。 [输出结束] 注意:此错误来自子进程,大概率不是pip的问题。 错误:legacy-install-failure 安装包时遇到错误。 splinecalib 注意:这是上述包的问题,而非pip。 提示:查看上方的失败输出。
错误原因
ml-insights的依赖包splinecalib需要编译C扩展模块,但当前系统缺少Microsoft Visual C++ 14.0及以上版本的编译工具,导致编译环节失败。
解决步骤
- 下载安装Microsoft C++ Build Tools,安装时需勾选「C++构建工具」及对应版本的Windows SDK组件(建议选择与当前系统匹配的SDK版本)。
- 安装完成后重启命令行终端,确保环境变量生效。
- 重新执行
pip install ml-insights即可完成安装。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

