如何通过 ssh 远程 运行 一个 python3 脚本
How to run a python3 script remotely trough ssh
我正在尝试 运行 通过 ssh 远程编写 python3 脚本,首先我想知道如果我正在尝试 运行 的机器这是否可行上的脚本没有 python3 解释器只有 python.
的 2001 版本
而且我正在使用以下命令来 运行 脚本,但它不起作用:
spawn sh -c "ssh -oPort=$port $ip /usr/bin/env < /home/pythonscript
Pythonscript 包含一个用于输出连接的 COM 端口的命令,如下所示:
import serial.tools.list_ports
print([comport.device for comport in serial.tools.list_ports.comport()])
我从这里得到的输出是一堆属于我正在连接的机器的系统信息,比如 HOSTNAME,USER,MACHTYPE,MAIL,SHELL,OSTYPE
我如何从我正在执行的命令中获得预期的输出
感谢所有帮助
首先,您需要在每台服务器上安装 python3,您将 运行 安装它。您还需要安装 pip3 和 pyserial。如果你愿意,你也可以使用 virtualenv,但我会把它留给你。
在该脚本中发现了一个小错误。根据最新版本无论如何它是 "comports" 而不是 "comport: https://pyserial.readthedocs.io/en/latest/tools.html
更新版本:
from serial.tools.list_ports import comports
print([comport.device for comport in comports()])
我能够 运行 只需执行以下操作即可远程
ssh localhost "python3 /home/user/projects/stack_overflow/56900773_remote_python_ssh/pythonscript.py"
将本地主机更改为您想要的任何服务器,并将我的路径换成您脚本的完整路径。
当我 运行 该命令时,我只得到一个空白列表,可能是因为我没有comports :)
我正在尝试 运行 通过 ssh 远程编写 python3 脚本,首先我想知道如果我正在尝试 运行 的机器这是否可行上的脚本没有 python3 解释器只有 python.
的 2001 版本而且我正在使用以下命令来 运行 脚本,但它不起作用:
spawn sh -c "ssh -oPort=$port $ip /usr/bin/env < /home/pythonscript
Pythonscript 包含一个用于输出连接的 COM 端口的命令,如下所示:
import serial.tools.list_ports
print([comport.device for comport in serial.tools.list_ports.comport()])
我从这里得到的输出是一堆属于我正在连接的机器的系统信息,比如 HOSTNAME,USER,MACHTYPE,MAIL,SHELL,OSTYPE
我如何从我正在执行的命令中获得预期的输出
感谢所有帮助
首先,您需要在每台服务器上安装 python3,您将 运行 安装它。您还需要安装 pip3 和 pyserial。如果你愿意,你也可以使用 virtualenv,但我会把它留给你。
在该脚本中发现了一个小错误。根据最新版本无论如何它是 "comports" 而不是 "comport: https://pyserial.readthedocs.io/en/latest/tools.html
更新版本:
from serial.tools.list_ports import comports
print([comport.device for comport in comports()])
我能够 运行 只需执行以下操作即可远程
ssh localhost "python3 /home/user/projects/stack_overflow/56900773_remote_python_ssh/pythonscript.py"
将本地主机更改为您想要的任何服务器,并将我的路径换成您脚本的完整路径。
当我 运行 该命令时,我只得到一个空白列表,可能是因为我没有comports :)