win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题

最新python项目中用到了AES加解密相关算法,需要用到pycrypto模块,于是像往常一样,通过

pip install pycrypto

结果发现安装报错,报错内容为:Microsoft Visual C++ 14.0 is required.,核心组件缺失,于是按照网上热心网友的方法,安装 Visual Studio 2015,我安装的是最新的Visual Studio 2019,选择python组件、C++组件

win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题
文章图片

然后再次尝试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",注意!!!之前是尖括号,现在一定要改为英文双引号!!

win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题
文章图片

更改成功后,保存退出。重新执行安装命令(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,首字母大写;

win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题
文章图片
到此,问题解决
【win10环境|win10环境 python3.6安装pycrypto-2.6.1的问题】参考资料:
1.win10 python3.7 安装 pycrypto2.6.1遇到的问题
2.python安装pycrypto包步骤及语法错误处理听语音

    推荐阅读