今天安装paramiko,整整折腾了一天,各种踩坑,现把安装过程记录下来:
环境:
Python3.6
Windows2008 64位
一、安装pycrypto
1、下载源码
官网: https://www.dlitz.net/software/pycrypto/
github: https://github.com/dlitz/pycrypto
我是在官网下载的 pycrypto-2.6.1.tar.gz
解压源码,运行cmd,进入解压文件夹,执行
如果在安装过程中没有报错,最后显示如下信息:
running install_egg_info
那么恭喜你,不用踩坑了,直接跳到第二节,安装
ecdsa了
如果在安装过程中,显示unable to find vcvarsall.bat,那么就跟着下面的步骤一步一步来吧,可以避免去踩各种坑
如果有编译好的pycrypto-2.6.1-cp36-cp36m-win_amd64包,可以用pip直接安装,就省略了安装VS这个步骤。我手上有pycrypto-2.6.1-cp36-cp36m-win_amd64.whl的包,35的也有,都是经过本人实测可用的,有需要的可以私信。
1、安装VS
Python3.6对应的VS版本是2015,大家可以去这上面下载
http://pan.baidu.com/s/1eSueWLG
安装的时候要注意,建议选择自定义
记得勾选VC++2015和Python Tools。Web Deveolper Tools的话最好也勾上吧。
VS安装完成后,重启电脑
2、设置环境变量
添加VC环境变量,设置用户环境变量,这里划重点!!!是用户环境变量,不是系统环境变量
变量名:VCINSTALLDIR
(变量值为vs安装路径下的VC,默认是这个)
变量值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
用户变量设置完成后,进入cmd命令窗口,执行命令:set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%,执行这条语句后,你set cl看一下,显示CL=/FI"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\\INCLUDE\\stdint.h" %CL% 就是对的
在cmd窗口中再次进入pycryto的解压文件夹python setup.py install
,看到
能显示running install_egg_info
就是安装成功了
二、安装ecdsa
这个很简单,直接去https://github.com/warner/python-ecdsa上下载一个最新版本的就可以,解压,在cmd命令窗口进入到解压目录下,执行python setup.py install就可以了
三、安装Paramiko
下载:https://pypi.python.org/pypi/paramiko,选择1.17.1版本下载
选择其他版本的haul,有可以会运行错误。下载完成后,解压,安装方法跟escda模块一样,cmd命令窗口进入到解压目录,执行python setup.py install,至此,paramiko模块安装完毕。
四、修改nt.py
在import paramiko时,报如下错误:
ModuleNotFoundError: No module named 'winrandom'
修改python安装目录下的 lib/Crypto/Random/OSRNG/nt.py ,文件中找到import winrandom,修改为
from Crypto.Random.OSRNG import winrandom