Python结构-未找到主机。请为连接指定(单个)主机字符串:

2024-06-08 20:10:57 发布

您现在位置:Python中文网/ 问答频道 /正文

怎么才能不找到主人呢。请为连接指定(单个)主机字符串:?

如何解决面料问题?

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: 

Tags: 字符串envcomhostubuntudefbootstrapec2
3条回答

另外,您可以在函数外部设置env设置

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')

也可以使用env.host_字符串而不是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"

与其在任务中设置主机,不如在使用decorator调用它之前执行此操作:

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"

有关这方面的更多信息,请查看Defining host lists-根据您的需要,有很多不同的方法可以做到这一点。

相关问题 更多 >