python3安装crypto出错及解决方法

yipeiwu_com6年前Python基础

首先我用的python3.5的版本

问题的由来,我想通过python去实现RSA加密算法时,破解某网站的js加密认证,网上说需要安装pycrypto,我就去进行pip安装了

pip install pycrypto

错误信息如下

 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build

经过网上查询信息,才知道这个库以及不再更新了,所以安装的时候会出一些错,因为c++编译环境有所问题吧

后来我发现了这个库 pycryptodome,它是和上面这个库一样的,实现了一些加密算法

pip install pycryptodome

很好,安装很顺利的成功了

于是我就很开心的打开pycharm,进行代码书写了,但是呢?我发现我怎么不能顺利的导包

from Crypto.PublicKey import RSA

pycharm也是提醒我书写有误,但我看官方文档的例子,它也是这样的导包的,我不信还是运行了程序,果然还是出错了

ImportError: No module named 'Crypto'

最后才发现,我需要在python35中改下包的名字,

# 这是我pycryptodome库安装的目录
# C:\python35\Lib\site-packages
# 在这个目录你找到这个文件夹的名字:crypto
# 将这个文件夹的名字改为: Crypto

通过上面的操作,就能成功的导入了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

深入解读Python解析XML的几种方式

深入解读Python解析XML的几种方式

在XML解析方面,Python贯彻了自己“开箱即用”(batteries included)的原则。在自带的标准库中,Python提供了大量可以用于处理XML语言的包和工具,数量之多,甚...

Python中利用函数装饰器实现备忘功能

“备忘”的定义 “memoization”(备忘)这个词是由Donald Michie在1968年提出的,它基于拉丁语单词“memorandum”(备忘录),意思是“被记住”。虽然它和单...

python:print格式化输出到文件的实例

遇到一个写文件的小程序,需要把print输出改成输出到文件,遇到这个问题的思路是把需要的字符串拼接到一个字符串中,然后在写到文件中,这样做觉得很麻烦,想到之前的学的exec的使用,但是实...

np.random.seed() 的使用详解

np.random.seed() 的使用详解

在学习人工智能时,大量的使用了np.random.seed(),利用随机数种子,使得每次生成的随机数相同。 我们带着2个问题来进行下列实验 np.random.seed()是否一直...

Python实现二叉搜索树

Python实现二叉搜索树

二叉搜索树 我们已经知道了在一个集合中获取键值对的两种不同的方法。回忆一下这些集合是如何实现ADT(抽象数据类型)MAP的。我们讨论两种ADT MAP的实现方式,基于列表的二分查找和哈...