windows环境中python3.5下
Http://www.tuicool.com/articles/ABVNBvy
最近由于一些需求,要搞一下python,于是周末搞了搞.要连接服务器,进行一些服务器的操作,于是安装这个Paramiko包,
直接 pip install paramiko
结果.报错,最关键的一句是:
error: Unable to find vcvarsall.bat
Google一圈.最终找到一种最简单地方法.其他的安装vs.安装MinGW都太复杂了.
安装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.非常简单
相关文章