Почему Python Fabric заменяет подчеркивание дефисами? - PullRequest
1 голос
/ 04 мая 2019

Я пытаюсь запустить этот простой Fabric пример и получаю неожиданную ошибку.

# fabfile.py
from fabric import task

@task
def upload_and_unpack(c):
    if c.run('test -f /home/jones/test.yml', warn=True).failed:
        c.put('test.yml', '/home/jones')

$ fab -H 'web.example.com' upload_and_unpack
No idea what 'upload_and_unpack' is!

$ fab --list
Available tasks:

  upload-and-unpack

Как видно, в моем методе, похоже, ткань заменена дефисами. Вот мои версии:

$ fab --version
Fabric 2.4.0
Paramiko 2.4.2
Invoke 1.2.0

Почему Fabric делает это и как я могу исправить эту ошибку? Я вижу здесь заметку о том, что имена задач преобразуются из символов подчеркивания в дефисы, но зачем показывать и пример, который определяет метод с подчеркиваниями, если Fabric преобразует их в дефисы? Как правильно написать и выполнить такой метод?

...