python3.6 和python 2.7版本安装pycrypto过程及问题(不需要安装vs)

Posted Elaine+1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3.6 和python 2.7版本安装pycrypto过程及问题(不需要安装vs)相关的知识,希望对你有一定的参考价值。

python安装pycrypto真的是踩到很多坑,说起来一把辛酸泪,好在最后成功解决了,总结了一下遇到的问题,写出来与大家共享

 

首先要明白的是crypto和pycrypto是两个不同的模块,小伙伴们不要去安装crypto

问题一:unable to find vcvarsall.bat

在网上下载pycrypto的包,进入包目录,使用python setup.py install命令安装,报错如图

大家看到这肯定去百度啊,百度就告诉你安装vs吧,但vs这个东西安装时间长,卸载又麻烦,加上我们平时用不到的话,安装成本略高

接下来介绍一种省心省力的安装方式,下载pycrypto.whl文件

下载网址:http://www.voidspace.org.uk/python/pycrypto-2.6.1/

里边有不同版本对应的whl

这里我的python 3.6.5版本对应的pycrypto.whl为pycrypto-2.6.1-cp36-cp36m-win_amd64.whl

python2.7版本对应下载的是pycrypto-2.6.1-cp36-win32_py27.exe

分别介绍一下安装方式

1)pycrypto.whl文件

  下载文件放置于D:\\python\\python3.6.2\\Scripts下,前边为python安装目录

  cmd进入D:\\python\\python3.6.2\\Scripts,执行pip install pycrypto-2.6.1-cp36-cp36m-win_amd64.whl

  等待Successfully installed …出现

2)pycrypto.exe

  下载后直接双击打开,过程中会匹配你当前电脑已安装的python,注意版本和目录的选择,一直下一步指导安装完成

至此我的问题解决了

 

可能出现的问题二:No Module named Crypto

小伙伴们在上述过程后,导入模块

from Crypto.Cipher import AES

运行时可能报错No Module named Crypto

这里也有解决办法:修改D:\\python\\python3.6.2\\site_packages下的crypto报名为大写Crypto

 

可能遇到的问题三:ModuleNotFoundError: No module named \'winrandom

这个问题其实我没遇到过......解决方法是从别人那里copy来的,解决不了问题还请小伙伴们不要打我....

解决方法:在目录下:D:\\python\\python3.6.2\\Lib\\site-packages\\Crypto\\Random\\OSRNG修改nt.py文件,

 将import winrandom 修改为:from . import winrandom即可

附上一张运行成功的图,哈哈哈

 

以上是关于python3.6 和python 2.7版本安装pycrypto过程及问题(不需要安装vs)的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.2 安装python3.6,兼容原有的2.7

python3.6安装版本选择

centos7编译安装Python3.6(与2.7并存)

linux 从Python 2.7升级至Python3.6.1

Anaconda安装

当 EB 环境为 python 3.6 时,使用 python 2.7 安装要求时出现 AWS 错误