Python Fabric - нет хостов. Укажите (единственную) строку хоста для подключения: - программирование
Подтвердить что ты не робот

Python 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"

fab boostrap
No hosts found. Please specify (single) host string for connection: 
4b9b3361

Ответ 1

Вместо того, чтобы устанавливать хосты внутри вашей задачи, сделайте это, прежде чем он будет вызван с помощью декоратора:

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"

Для получения дополнительной информации об этом, Определение списков хостов - есть много разных способов сделать это в зависимости от того, что вам нужно.

Ответ 2

Также вы можете использовать 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"

Ответ 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')