Може ли Fabric да изпълнява локален скрипт на отдалечена машина?

Имам myfile.py на моята локална машина.

Искам да направя нещо като:

from fabric.api import env, run

env.host_string = 'whatever.com'

def run_script():
    run('python myfile.py')

но разбира се, това връща can't open file 'myfile.py': [Errno 2] No such file or directory Как мога да стартирам този файл дистанционно? Трябва ли да го put на whatever.com?


person Plastic Soul    schedule 24.06.2015    source източник


Отговори (1)


Можете първо да изпратите своя myfile.py към отдалечената машина, като използвате fabric.operations.put и след това стартирайте скрипта, както се опитахте.

Но се уверете, че пътят до вашия скрипт е или абсолютен път, или относителен към текущата директория, от която се изпълняват отдалечените команди, това може да се открие с помощта на cwd можете също ръчно да cd в отдалечената папка, като използвате fabric.context_managers.cd

person Yogesh Mangaj    schedule 24.06.2015