web-dev-qa-db-fra.com

Exécuter local python script sur la machine distante

Je souhaite exécuter python Script que j'ai localement sur le disque sur une machine distante. J'utilisais des scripts Bash comme ceci:

cat script.sh | ssh user@machine

mais je ne sais pas comment faire de même pour Python script.

7
Trismegistos

Comme d'autres l'ont dit, tuyez-le dans SSH. Mais ce que vous voudrez faire est de donner les arguments appropriés. Vous voudrez ajouter -u Pour récupérer la sortie de SSH correctement. Et vouloir ajouter - Pour gérer la sortie et les arguments ultérieurs.

ssh user@Host python -u - < script.py

Si vous souhaitez donner des arguments de ligne de commande, ajoutez-les après le -.

ssh user@Host python -u - --opt arg1 arg2 < script.py
5
Arcege

Utilisez le package RemRunner pour Python. Il copie des scripts locaux sur une machine distante, puis les exécute.

pip install remrunner

python
>> from rumrunner import runner

>> r = runner.Runner(REMOTE_Host_IPADDR, REMOTE_Host_USER)
>> rval, stdout, stderr = r.run('/path/to/local/script.py')
>> if rval:
    print stderr
else:
    print stdout
2
sillymonkeysoftware