【问题标题】:How to execute python script based on the server of an ssh connection?如何基于 ssh 连接的服务器执行 python 脚本?
【发布时间】:2014-01-23 01:20:07
【问题描述】:

我已通过 ssh 连接到 Raspberry Pi。我正在尝试在RPi 上运行脚本,而不是在终端上使用nano editor,我想基于我的mac(SSH 的服务器)执行一个python 脚本。

但是在打字的时候

'sudo python /Users/User/Pythonscript.py'

终端返回

'python: can't open file '/Users/User/Pythonscript.py': [Errno 2] No such file or directory'

然而这个文件确实存在于那个目录下。

有什么想法吗?

【问题讨论】:

  • 我什么都不懂。脚本在哪里?在服务器上?在客户端? “我正在尝试在 RPi 上运行脚本,而不是在终端上使用 nano 编辑器”是什么意思?
  • 我尝试运行的脚本位于我的 Mac 上——它充当我在 Mac 和 Raspberry Pi 之间建立的 SSH 关系中的服务器。目前我正在使用 Mac 终端与 Raspberry Pi 对话,这是我使用终端内的 Nano 编辑器编写脚本的地方。是否可以创建一个存在于 Mac 上的 python 文件可以由树莓派执行?
  • 等等... 在你写下你用 ssh 连接到 RPi 之前,所以 RPi 是服务器,而你的 mac 是客户端。脚本在哪里?
  • 好的。仍然不确定你想要什么,无论如何:ssh [user@]hostname [command] 但是,对不起,如果我问......你为什么想要这个?

标签: python ssh terminal raspberry-pi


【解决方案1】:

好的,如果我理解正确的话,您的客户端上有脚本,并希望通过 ssh 在 Pi 上执行它。

  1. scp /path/to/script.py user@hostname:/path/to/
  2. 然后将您的 RSA 密钥添加到您的服务器。 This perfect guide 告诉你怎么做。
  3. 然后只需编写 .sh 即可访问您的服务器 ssh user@hostname,然后是 cd /path/to,最后是 python script.py

【讨论】:

  • 你的意思是他可能只是在问如何将脚本从Mac复制到Pi,然后在Pi上执行脚本?? :-O
  • 我不太清楚,但可能他试图从 Pi 在 Mac 上运行一个脚本,所以他可以按照我上面的建议来做......但实际上,我还没有完全理解他想要什么。
【解决方案2】:

您的 Mac 上有一个文件,并想在您的 Pi 上执行它。需要做两件事:首先,将文件获取到 Pi。第二次登录 Pi 并运行它。显然,您完成了第二步,所以我将介绍第 1 步。

简单的解决方案:scp,例如scp /Users/User/Pythonscript.py <user>@<ip_of_pi>:<target_dir>

如果您想在本地开发,可能更长期可行的解决方案:sshfs。它可以通过 Homebrew 获得。您在本地挂载一个目录,您更改的任何内容都会自动反映在 Pi 上的相应目录中。这是tutorial how to install and use sshfs。乍一看,这似乎是合理的。

无论你如何将脚本放到 Pi 上,你都需要在 Pi 上找到它并在那里执行。

【讨论】:

    猜你喜欢
    • 2015-09-04
    • 2012-04-13
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    • 2018-11-30
    • 2018-01-28
    • 2018-05-25
    相关资源
    最近更新 更多