最近因项目需要,开始深入接触python。遇到的一些环境问题,分享下。
requirements.txt中包含一系列所需组件,部分组件安装会报cl.ext错误。
如错误问题:Python3 安装pycrypto 2.6.1 出现 cl.exe failed with exit status 2 错误
或者错误问题:Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
原因:缺少对应的VC编译环境。在windows下使用pip安装一些python的第三方库,有很多使用C写了一些扩展,需要使用VC++ Compiler 来编译安装。
解决办法:
1. 下载安装visual studio
https://visualstudio.microsoft.com/visual-cpp-build-tools/
2. 安装
因为python不同版本要求不同版本的vc++,根据我的所需安装了Microsoft Visual C++ 14.0和2019
3.编辑配置环境变量
设置用户变量:VCINSTALLDIR = "E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
设置VC++ 2014的一些配置信息后安装
##更换为2014版本
##查看设置的用户变量是否生效
(base) C:\Users\Lenovo>set VCINSTALLDIR
VCINSTALLDIR=E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
##重置cl的引用路径
(base) C:\Users\Lenovo>set CL=/FI"%VCINSTALLDIR%\include\stdint.h"
(base) C:\Users\Lenovo>SET CL
CL=/FI"E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\stdint.h"
CLASSPATH=;E:\Program Files\Java\jdk1.8.0_202\bin;E:\Program Files\Java\jdk1.8.0_202\lib\dt.jar;E:\Program Files\Java\jdk1.8.0_202\lib\tools.jar;
##虚拟环境激活
(base) C:\Users\Lenovo>e:
(base) C:\Users\Lenovo>cd E:\Git\data-platform\bk-base\src\api\venv\Scripts
(base) E:\Git\...\venv\Scripts>activate
(venv) (base) E:\Git\...\venv\Scripts>set CL
CL=/FI"E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\stdint.h"
CLASSPATH=;E:\Program Files\Java\jdk1.8.0_202\bin;E:\Program Files\Java\jdk1.8.0_202\lib\dt.jar;E:\Program Files\Java\jdk1.8.0_202\lib\tools.jar;
##安装pycrypto
(venv) (base) E:\Git\...\venv\Scripts>pip install pycrypto==2.6.1
安装仍然报错:
注:以下各种地址都要根据你自己的实际情况来。
拷贝C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64 中的文件(特别注意,路径根据实际情况)到目录E:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
rc.exe
rcdll.dll
再次安装成功。
文章来源:https://www.toymoban.com/news/detail-438849.html
文章来源地址https://www.toymoban.com/news/detail-438849.html
到了这里,关于Python3 安装软件出现 cl.exe failed with exit status 2 错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!