首页 > 解决方案 > 在 Python 脚本中通过 ssh 调用 Python 会导致“非法指令(核心转储)”

问题描述

我有一个 Python 脚本call.py通过 ssh 登录到另一台机器并执行保存在这台机器上的另一个 Python 脚本,类似这样

# call.py
import os

# log into user@host machine and execute python script
os.system("sshpass -p password ssh user@host '( python3 my_script.py )'")

但是当我尝试运行它时,我得到了这个错误

Illegal instruction     (core dumped)  ( python3 my_script.py )

我尝试了几件事:

似乎只有 python 中的 ssh + python 的组合才会给我这个错误。任何可能导致错误的指针将不胜感激。

编辑:我没有意识到它会起作用,但我现在添加目标机器是 Nvidia Jetson 板的重要细节。

标签: pythonpython-3.xsshnvidia-jetson

解决方案


我找到了适合我的案例的解决方案,以防它可以帮助其他人。正如Thomas所指出的,问题在于我正在使用不同的系统,具体而言,我的目标机器是 Jetson,而我正在从笔记本电脑运行 ssh。

在我的 Jetson 板上,我Illegal instruction (core dumped)在尝试导入 OpenCV 时看到过,解决方案export OPENBLAS_CORETYPE=ARMV8~/.bashrc.

为了通过 ssh 完成这项工作,我不得不修改我的命令以这样调用 python:

OPENBLAS_CORETYPE=ARMV8 python3

现在它可以工作了!


推荐阅读