Python Fabric - 未找到主机。请指定(单个)主机字符串以进行连接:
我该怎么处理“没有找到主机。请指定(单个)主机字符串以进行连接”这个问题呢?
我该如何用fabric来解决这个问题?
def bootstrap():
host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.hosts = [host]
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
> command run
>> fab bootstrap
> No hosts found. Please specify (single) host string for connection:
3 个回答
3
另外,你可以在函数外部设置环境配置。
from fabric.api import env, run
host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.hosts = [host]
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
def test():
run('ls -la')
25
你也可以用 env.host_string 来代替 env.hosts:
def bootstrap():
env.host_string # 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
13
与其在任务内部设置主机,不如在调用之前用装饰器来设置:
from fabric.api import hosts, env
@hosts(['ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'])
def bootstrap():
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
想了解更多信息,可以查看 定义主机列表 - 根据你的需求,有很多不同的方式可以做到这一点。