windows环境中python3.5下

2023-01-31 02:01:00 windows 环境 python3

Http://www.tuicool.com/articles/ABVNBvy


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

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

error: Unable to find vcvarsall.bat

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

  1. 安装PyCrypto 第三方版

    因为paramiko依赖PyCrypto,上面那个错就是他报错出来的.安装 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一下..找到一个办法

http://stackoverflow.com/questions/24804829/another-one-about-pycrypto-and-paramiko

找到python3.5的安装目录的

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

import winrandom

改成

from . import winrandom

再次运行ok.非常简单


相关文章