最近由于一些需求,要搞一下python,于是周末搞了搞.要连接服务器,进行一些服务器的操作,于是安装这个Paramiko包,

直接 pip install paramiko 结果.报错,最关键的一句是:

error: Unable to find vcvarsall.bat

google一圈.最终找到一种最简单地方法.其他的安装vs.安装MinGW都太复杂了.

  1. 安装PyCrypto 第三方版

    因为paramiko依赖PyCrypto,上面那个错就是他报错出来的.安装 

    pip install --use-wheel --no-index --find-links=https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto

安装完成后,再次安装paramiko即可.2.修改nt.py

安装完上面的步骤,写一个简单的程序测试下

#-*- coding: utf-8 -*-#!/usr/bin/python import paramikoimport threadingdef ssh2(ip,username,passwd,cmd):    try:        ssh = paramiko.SSHClient()        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())        ssh.connect(ip,22,username,passwd,timeout=5)        for m in cmd:            stdin, stdout, stderr = ssh.exec_command(m)            out = stdout.readlines()            #屏幕输出            for o in out:                print(o)        print('%s\tOK\n'%(ip))        ssh.close()    except :        print('%s\tError\n'%(ip))if __name__=='__main__':    cmd = ['find /home/admin/logs/ -mtime +3 -name \'*.log.*\' -exec rm -rf {} \;']#你要执行的命令列表    username = "admin"  #用户名    passwd = "password"    #密码    threads = []   #多线程    ip = "127.0.0.1"    print("Begin......")    a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))    a.start()     input()

运行报错.

ImportError: No module named 'winrandom'

so一下..找到一个办法

找到python3.5的安装目录的

Lib\site-packages\Crypto\Random\OSRNG 的nt.py文件将

import winrandom

改成

from . import winrandom

再次运行ok.非常简单