我正在尝试通过kodi运行python脚本,该脚本打开到我的远程Raspberry Pi的SSH连接并运行.sh脚本。但是,就像科迪(Kodi)无法很好地解析路径一样。
我从termux运行了相同的python脚本,并且运行良好。不知道我是否必须使用xbmc.translatepath。那里有任何科迪传奇人物知道我在做什么错吗?
#!/usr/bin/python2
import subprocess
subprocess.call('ssh pi@192.168.1.14 -p 22 -i /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.hyperion/.ssh/id_rsa bash "/home/pi/hyperion_on.sh"', shell=True)
请参阅下面的错误。
ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script
returned the following error<--- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.OSError'>
Error Contents: [Errno 2] No such file or directory
Traceback (most recent call last):
File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.hyperion/hyperion_on.py", line 17, in <module>
subprocess.call('ssh pi@192.168.1.14 -p 22 -i /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/script.hyperion/.ssh/id_rsa bash "/home/pi/hyperion_on.sh"', shell=True)
File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux- androideabi-android-21/lib/python2.7/subprocess.py", line 523, in call
File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux- androideabi-android-21/lib/python2.7/subprocess.py", line 711, in __init__
File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux- androideabi-android-21/lib/python2.7/subprocess.py", line 1343, in _execute_child
OSError: [Errno 2] No such file or directory
-->End of Python script error report<--
答案 0 :(得分:0)
Android上的Termux是它自己的独立环境。其中的命令不是Android核心系统的一部分,也不是Kodi默认会知道的任何路径。如果您运行which ssh
,则会看到它像/data/data/com.termux/files/usr/bin/ssh
一样。不过,我不确定Kodi是否可以使用它。查看以下内容,可能会有所帮助: