pip 安装模块时 cl.exe failed 可能的解决办法

您所在的位置:网站首页 pip安装lxml失败 pip 安装模块时 cl.exe failed 可能的解决办法

pip 安装模块时 cl.exe failed 可能的解决办法

#pip 安装模块时 cl.exe failed 可能的解决办法| 来源: 网络整理| 查看: 265

情况1:未安装Visual C++ Build Tools 或者 'cl.exe' failed: No such file or directory

这种情况很可能是没有安装微软的C++构建工具导致的,或者是安装了构建工具但是直接在普通的命令行运行pip导致的,如果你已经安装了构建工具,请直接跳到第2步

下面是可能的解决步骤:

1.安装 https://go.microsoft.com/fwlink/?LinkId=691126

 (或者安装Visual Studio)

2.在开始菜单找到这样的一些东西

如果你在开始菜单中不能找到,请到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual C++ Build Tools 里面,找到 Windows Desktop Command Prompts 并且确保其中有一堆的 Command Prompts

3.右键,选中 以管理员身份运行 其中的 Visual C++ 2015 x64 Native Build Tools Command Prompt 或者 Visual C++ 2015 x86 Native Build Tools Command Prompt . 这取决你系统的架构,如果你的系统是64位请选择前者,32位请选择后者

4.在新打开的命令提示符中运行pip

情况2:提示 'cl.exe' failed with exit status 2 (头图中情况)

这个是这次主要要说的情况,也是困扰了我很久的情况,解决办法最后我是在下述链接中找到的(一段艰难的寻找)

https://stackoverflow.com/questions/41843266/microsoft-windows-python-3-6-pycrypto-installation-error

这种情况是 python 的 include\pyport.h 已经默认不 #include 了,这就导致了 intmax_t 未定义,但是我们可以通过以下步骤让pip编译的时候强制 include

下面直接说步骤(如果找不到下述文件,请先看文章末尾的 *注*)

请确保你已经安装了第一种情况中的 Visual C++ Build Tools (或者安装Visual Studio)

仍然是以管理员运行上述 Command Prompt

到 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools 中,找到 vsvars32.bat 并且复制这个bat文件的全路径,并在外面加上英文双引号

例如: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32.bat" 

在 Command Prompt 中 输入上述带双引号的全路径并回车

在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include 中找到 stdint.h 并且复制其全路径,并在外面加上英文双引号

例如: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\stdint.h"

在 Command Prompt 中输入 set CL=-FI加上一步的路径

例如: set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\stdint.h"

在 Command Prompt 中运行你的pip install

最后你的命令行会是这样子(以pycrypto为例)

*注*:

如果你是安装的Visual Studio而不是Build Tools,请把上述 C:\Program Files (x86)\Microsoft Visual Studio 你对应的Visual Studio目录

如果你的电脑是32位,路径中会没有(x86)字样,只需要去掉就行了

如果安装了Build Tools或者Visual Studio但是找不到上述文件的话,推荐使用everything这个软件,可以几乎瞬间搜索出全盘的文件,这可能会帮助你找到这些文件.

文章半原创,第二部分扩充了一下stackflow中的回答

文章允许在标注原出处的情况下转载,毕竟能帮到更多人是好的.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3