安装pycrypto遇到的一系列问题总结

安装pycrypto遇到的一系列问题总结

今天在用PyCharm运行一个脚本的时候遇到了一个问题,在模块调用上直接报错了。

from Crypto.Cipher import AES

查了资料之后发现需要一个名叫pycrypto的包,在之后安装这个包的过程中遇到了无数的问题,这里为大家分享一下我解决这个问题的收获。

0x00安装pip

1、从 https://pypi.python.org/pypi/pip/ 下载pip安装包pip-8.1.2.tar.gz

2、将pip-8.1.2.tar.gz解压到任意目录,进入该目录,通过 python setup.py install 命令安装pip

3、配置环境变量,在python2.7的安装目录下找到Scripts目录,里面已经安装好了,经接着添加环境变量。点开【我的电脑】右键->【属性】->高级系统设置->环境变量,然后将”;Scripts的路径”添加到Path的最后面。

4、最后打开cmd,输入pip验证安装结果

0x01安装pycrypto

1、下载:https://www.dlitz.net/software/pycrypto/,下载后解压到任意目录。

2、使用python setup.py install命令安装,在这里遇到一个问题,在下一节详细解释。安装成功之后报错就会消失了。

0x02 unable to find vcvarsall.bat错误的解决方法

在安装pycrypto的时候出现unable to find vcvarsall.bat

问题原因:

很多python 库实际上使用c或者c++写的,所以安装编译时会需要用到msvc的东西;如果你的机器里没有装VS或者注册表设置不太对的话,就会报错。

微软出了一个msi包来解决这个问题:
Microsoft Visual C++ Compiler for Python 2.7
下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=44266

安装后,路径是:C:\Users[用户名]\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0 ,可以看到这个路径下就已经有一个vcvarsall.bat 文件了。

此时,如果运行pip install numpy等,还是同样报错,那么就代表你的setuptool的版本太老了,这个comiler包需要setuptools6.0以上版本才可以(可以在微软页面上查到system requirement)

如果还是报错,那就是注册表的问题了,解决方案如下:

1、打开注册表编辑器 
  regedit 
2、配置 
 2.1、如果你安装的Python是32位的,则,创建如下项: 
 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Setup\VC 
 2.2、如果你安装的Python是64位的,则,创建如下项: 
 HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC 
3、并在此项下新建字符串值: 
 名称:productdir 
 数据:vcvarsall.bat所在路径 
 注意:路径中不包含最后的反斜杠。
文章目录
  1. 1. 安装pycrypto遇到的一系列问题总结
    1. 1.1. 0x00安装pip
    2. 1.2. 0x01安装pycrypto
    3. 1.3. 0x02 unable to find vcvarsall.bat错误的解决方法
|