Windows10 64位安装Spacy时cl.exe执行失败(退出状态2)求助
解决Windows 10 64位下安装Spacy时
cl.exe编译失败的问题 我之前在配置Python 3.6环境安装Spacy时,也碰到过和你完全一样的错误!这个问题核心是Visual Studio 14的编译工具链没有正确适配64位Python,导致pip编译依赖包时调用了32位的cl.exe(从路径里的(x86)就能看出来),最终触发了退出状态2的错误。下面是几个亲测有效的解决办法:
检查并补全Visual Studio 14的编译组件
打开Visual Studio Installer,找到你的VS 2015安装条目,点击「修改」按钮。务必确保勾选了Visual C++ 2015 Build Tools,同时要包含「Windows SDK」和「C++编译器」这两个关键组件。安装完成后一定要重启电脑,让环境变量的修改生效。手动配置环境变量,指向64位编译工具
因为你用的是64位Python,但系统默认可能优先调用32位的编译器,所以需要手动指定路径:- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区域:
- 编辑
Path,添加64位VC编译器路径:C:\Program Files\Microsoft Visual Studio 14.0\VC\bin\amd64 - 确保
INCLUDE变量包含:C:\Program Files\Microsoft Visual Studio 14.0\VC\include - 确保
LIB变量包含:C:\Program Files\Microsoft Visual Studio 14.0\VC\lib\amd64
- 编辑
- 配置完成后,必须打开新的命令提示符/终端,输入
cl,如果能看到编译器的版本信息,说明配置成功了。
跳过编译,直接安装预编译的Wheel包
编译依赖包经常会踩坑,直接用现成的预编译Wheel包是最省心的方案:- 先卸载之前失败的安装残留:
pip uninstall -y spacy - 针对Python 3.6 64位,推荐安装兼容性较好的版本,比如:
pip install spacy==2.3.7(这个版本有官方预编译的64位Wheel) - 如果需要更新版本,安装时加上参数强制使用预编译包:
pip install spacy --only-binary :all:
- 先卸载之前失败的安装残留:
确认Python与VS版本的兼容性
你选的Python 3.6对应VS 2015(14.0)是完全正确的,但要确保VS 2015已经安装了所有官方更新补丁,避免因工具链本身的bug导致编译失败。
内容的提问来源于stack exchange,提问作者Sumitraj Patil
相关产品推荐
相关产品推荐

