如何利用Ansible在远程机器上执行python脚本?

Python014

如何利用Ansible在远程机器上执行python脚本?,第1张

Ansible用来做配置管理是极好的, 但是有时配置完成后会需要基于环境做一些验证工作, 用好pip, script这些模块, 其实我们还是可以很方便的做到上面的事情的.

本文是作者在实践时遇到的一些坑以及对应的解决办法, 记录以供参考.

为了顺利的让我们的python脚本在远程环境上运行起来, 我们需要大致做下面几件事:

JetBrains 公司出品的集成开发环境以制作精良风格一致得到广泛好评,PyCharm 作为其中一款针对 Python 语言的 IDE 给了我很多帮助,感觉比较好用的是这个远程调试。

远程调试的代码部署在远端服务器上,通过网络传输使用本机进行单步调试。实用场景为本机为非 GPU 机器,可以在远端 GPU 服务器上运行程序,观察程序运行过程中,各个变量在断点处的当前值。

本机打开程序,新建一个configuration

如上图所示

类型为远程调试

填写 本机 ip和端口,

python2.x拷贝pycharm-debug.egg到远端机器,python3.x拷贝的是pycharm-debug-py3k.egg

程序中加入

sys.path.append('/path/to/your/remote/pycharm-debug.egg')

import pydevd

pydevd.settrace('172.18.76.241', port=8602, stdoutToServer=True, stderrToServer=True)123

本机先debug此configuration,然后远端再运行,默认断点为pydevd.settrace的下一行