最新python项目中用到了AES加解密相关算法,需要用到pycrypto模块,于是像往常一样,通过
pip install pycrypto
结果发现安装报错,报错内容为:Microsoft Visual C++ 14.0 is required.
,核心组件缺失,于是按照网上热心网友的方法,安装 Visual Studio 2015,我安装的是最新的Visual Studio 2019,选择python组件、C++组件
然后再次尝试
pip install pycrypto
安装,结果报错如下:报错如下
error C2061: 语法错误: 标识符“intmax_t”
error C2059: 语法错误:“;”
error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面)
解决方法:
打开VS的安装文件夹,找到“stdint.h”文件,路径示例:
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\include\stdint.h
将“stdint.h”文件复制到如下文件夹下:D:\Windows Kits\10\Include\10.0.18362.0\ucrt
(注意:以上路径为安装Visual Studio 2019自定义的安装位置)
在当前位置,找到inttypes.h
文件,打开编辑
将第13行更改为#include "stdint.h"
,注意!!!之前是尖括号,现在一定要改为英文双引号!!
更改成功后,保存退出。重新执行安装命令(pip install pycrypto)
即可,然后终于出现了令人期待的
Installing collected packages: pycrypto
Running setup.py install for pycrypto ... done
Successfully installed pycrypto-2.6.1
到此,本以为大功告成,然后启动python脚本,发现继续报错!!!
ModuleNotFoundError: No module named 'Crypto'
解决方法:
此时需要去环境中将安装的包crypto的名字改成Crypto,首字母大写;
到此,问题解决
参考资料:
1.win10 python3.7 安装 pycrypto2.6.1遇到的问题
2.python安装pycrypto包步骤及语法错误处理听语音