转载注明:https://blog.csdn.net/a624806998/article/details/78596543

最近接触公司后台管理系统的开发,其中涉及到加密模块pycrypto。

重点来了!!!!敲黑板!!!!

pycrypto在PyCharm中跟其他的模块不一样,pip install pycrypto安装的是1.4.1版本,然后虽然模块能够install成功,但实际上代码还是无法关联起来,运行会报异常。

百度解决方案:下载pycrypto源码安装

不过安装pycrypto源码可不是这么简单的事情,这里把这几天踩过的坑都记录一下。

1.下载pycrypto源码

官网:https://www.dlitz.net/software/pycrypto/
github:https://github.com/dlitz/pycrypto
下载源码解压,win+R运行cmd,进入解压文件夹

python setup.py install
  • 1

如果没有报错误,看到

running install_egg_info
  • 1

恭喜你,不用踩坑,直接可以关闭这篇东西去愉快地写代码了

2.安装过程中显示unable to find vcvarsall.bat

这是window环境下安装模块比较常见的问题,这时候你百度的话大部分文章就会告诉你下载vs,python2的话安装vs2010,python3的话安装vs2013
重点!!!!!!!!
不要着急去安装vs,这东西一安装就是好几个小时,在这里我对vs装了卸,卸了装浪费了一天半的时间。
python有个深坑!不同的python版本对应不同的vs版本,具体对应的版本在python所在的路径下\Lib\distutils_msvccompiler.py
比如我的路径是E:\Python\Python36\Lib\distutils_msvccompiler.py
打开找到def _find_vcvarsall(plat_spec)
这个函数下有个if version >= 14 and version > best_version

这里的version >= 14就是对应的vs版本号,如果你跟我一样是python3.6的话应该这里是14,之前就是看到其他的博客,没有查看这里的版本号就装,先是装了vs2010,然后装2013,再卸了装了对应版本号的vs2015,其中vs的版本号对应关系如下:
msvs2005版本号为8.0,对应环境变量VS80COMNTOOLS
msvs2008版本号为9.0,对应环境变量VS90COMNTOOLS
msvs2010版本号为10.0,对应环境变量VS100COMNTOOLS
msvs2012版本号为11.0,对应环境变量VS110COMNTOOLS
msvs2013版本号为12.0,对应环境变量VS120COMNTOOLS
msvs2015版本号为14.0,对应环境变量VS140COMNTOOLS

3.安装对应版本的msvs(Microsoft Visual Studio)

如果是Visual Studio 2015,提供个百度经验上百度网盘给大家
http://pan.baidu.com/s/1eSueWLG
如果不需要用vs进行开发的话,装community免费版就可以了,没必要纠结专业版啥的
安装过程中要注意,建议安装的时候选自定义(截图来自百度经验,因为已经安装了打开之后有点不太一样)

记得勾选VC++2015和Python Tools。Web Deveolper Tools的话最好也勾上吧。
但我的安装过程没这么顺利,泪奔~

安装部分模块失败,然后我重新安装。因为主要的vs2015安装是成功的,所以只勾选

  • VC++2015
  • Python Tools
  • Web Deveolper Tools
    这三个模块,500M左右,重新安装就提示全部成功了
    很多人说装完之后要改环境变量,
 python2:set VS90COMNTOOLS=%VS140COMNTOOLS%python3:set VS100COMNTOOLS=%VS140COMNTOOLS%
  • 1
  • 2

可能python3.6版本高了不需要这样,不过也记录一下给各位看官仅供参考。反正我是不需要改,因为接下来我踩了另一个坑
再次进入pycryto的解压文件夹python setup.py install 仍然显示
building ‘Crypto.Random.OSRNG.winrandom‘ extension

running install
running build
running build_py
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
building ‘Crypto.Random.OSRNG.winrandom‘ extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Isrc/ -Isrc/inc-msvc/ -IC:\Python36\include -IC:\Python36\include
winrand.c
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(26): error C2061: syntax error: identifier ‘intmax_t‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(27): error C2061: syntax error: identifier ‘rem‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(27): error C2059: syntax error: ‘;‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(28): error C2059: syntax error: ‘}‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(30): error C2061: syntax error: identifier ‘imaxdiv_t‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(30): error C2059: syntax error: ‘;‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(40): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2146: syntax error: missing ‘)‘ before identifier ‘_Number‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2061: syntax error: identifier ‘_Number‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2059: syntax error: ‘;‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(42): error C2059: syntax error: ‘)‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(45): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2146: syntax error: missing ‘)‘ before identifier ‘_Numerator‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2061: syntax error: identifier ‘_Numerator‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2059: syntax error: ‘;‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2059: syntax error: ‘,‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(48): error C2059: syntax error: ‘)‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(50): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(56): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(63): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(69): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(76): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(82): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(89): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(95): error C2143: syntax error: missing ‘{‘ before ‘__cdecl‘
error: command ‘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe‘ failed with exit status 2

4.解决building ‘Crypto.Random.OSRNG.winrandom‘ extension

1.添加VC环境变量,设置用户环境变量,这里划重点!!!是用户环境变量,不是系统环境变量

变量名:VCINSTALLDIR
(变量值为vs安装路径下的VC,默认是这个)
变量值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
2. win+R运行cmd,执行命令set CL=/FI”%VCINSTALLDIR%\INCLUDE\stdint.h” %CL%
3. 再次进入pycryto的解压文件夹python setup.py install ,看到
能显示running install_egg_info 就是安装成功了

5.注意是Crypto还是crypto,区分大小写

我这里安装成功之后代码alt+enter自动关联的是

from crypto.Cipher import AES
  • 1

然后代码运行报错,点进去AES里面import的是

from Crypto.Cipher import _AES
  • 1

小伙伴如果遇到跟我一样的问题,可以手动进入python\Lib下,我的路径是
E:\Python\Python36\Lib
然后把文件夹crypto改成Crypto。把小写改成大写,刷新下,完美运行~~~~

转载于:https://www.cnblogs.com/rememberlkkkk/p/9689018.html

安装pycrypto 2.6.1各种坑相关推荐

  1. 安装pycrypto,windows10,全解

    安装pycrypto 一:下载pycrypto源码或pip安装 1.下载pycrypto源码 建意先全部阅读一遍在进行安装,坑太多,不能急 官网:https://www.dlitz.net/softw ...

  2. python3.7用pip安装pycrypto,看这一篇就够了

    (pycrypto已经停更三年了,建议安装pycryptodome,我现在的python3就是下载pycryptodome-3.9.6-cp37-cp37m-win_amd64.whl,然后 pip ...

  3. 【转载】python3安装scrapy之windows32位爬坑

    python3安装scrapy之windows32位爬坑 原创 2016年11月06日 01:38:08 标签: scrapy / windows / python / 开源框架 / 网络爬虫 早就听 ...

  4. 转载:python3 安装pycrypto

    原文链接:https://blog.csdn.net/weixin_41315973/article/details/84529474 1.gitlab项目clone下来后,安装包的命令 pip in ...

  5. python2.7 安装pycrypto库报错

    windows + python2.7 先安装VC包 https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59 ...

  6. pip3 安装pycrypto 时报错

    在windows 下使用pip3 安装pycrypto 时报错: 问题原因: pycrypto.pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto, ...

  7. linux-ubuntu 安装mysql5.7.19的一些坑

    2019独角兽企业重金招聘Python工程师标准>>> linux-ubuntu 安装mysql5.7.19的一些坑 在linux下安装MySQL有很多介绍,流程大同小异,但往往一些 ...

  8. win10想说爱你不容易——安装.net3.5也是一个坑(已有完美解决方法)

    win10想说爱你不容易--安装.net3.5也是一个坑(已有完美解决方法) 参考文章: (1)win10想说爱你不容易--安装.net3.5也是一个坑(已有完美解决方法) (2)https://ww ...

  9. kali2021.1安装pdtools挤牙膏式爬坑日记

    kali2021.1安装pdtools挤牙膏式爬坑日记 本人电脑为macOS Big Sur 11.1 parallels Desktop为16.1.1 首先,感谢两位大佬的博客,由于我出现的问题比较 ...

最新文章

  1. 各种字符串分拆处理函数.sql
  2. SQL错误提示档案(3):SQL Server连接中的四个最常见错误
  3. 如何做流数据分析,Byron Ellis来告诉你...
  4. cdh5.12.1 service monitor监控状态_来,我们在重新说下,线程状态?
  5. 【实战】使用pyecharts绘制词云图-淘宝商品评论展示
  6. HDU - 6899 Xor(数位dp)
  7. typecho插件库 TeStore 方便监控插件版本
  8. Spring Boot学习笔记:Spring Boot的Web功能
  9. x86从实模式到保护模式 pdf_【自制操作系统04】从实模式到保护模式
  10. jupyter环境配置及使用
  11. angular发布代码有缓存_如何在Angular应用程序中执行请求?
  12. 如何对第一个值相同的列表中的元组求和
  13. 使用Python下载本地的m3u8文件
  14. Dynamics finance and operation官方虚拟机10.0.24使用私人账号访问
  15. 天猫精灵打开电脑 语音控制电脑
  16. 用Python编写的简化版微信客户端
  17. 简单搜索--BFS--Catch That Cow
  18. 癌症新发现,癌细胞像熊一样冬眠以逃避化疗
  19. 16.355J / ESD.355J 软体工程概念
  20. 【强档推荐】网球王子高清桌面壁纸

热门文章

  1. python雷达图怎么做_使用Python绘制雷达图
  2. python保存变量_Python变量存储
  3. html文件元素体,文档表示HTML文件,文档中的______________被称为元素
  4. android 快捷方式 未安装该应用程序,android,解决手动创建的桌面快捷方式无法跳转到制定的activity的问题,提示未安装应用程序...
  5. 帧起始定界符_检测帧起始定界符的方法、装置、设备及计算机存储介质与流程...
  6. java反编译工具_推荐Java反编译工具luyten、jd-gui
  7. 浙江从小学生就上计算机课,废旧计算机在小学信息技术课中的再利用.doc
  8. linux7编译mysql5.7安装,CentOS 7.4 使用源码包编译安装MySQL 5.7.20
  9. python散点图解_python 画三维图像 曲面图和散点图的示例
  10. Requests 入门