gpt4 book ai didi

Python Subprocess.Popen 不适用于跨平台 Yocto

转载 作者:行者123 更新时间:2023-12-01 02:25:40 25 4
gpt4 key购买 nike

我正在 yocto Pyro 上使用 python 脚本构建包。

在Python脚本中我使用subprocess.Popen

根据我的理解,当Python脚本运行跨平台时,它应该采用跨平台的Python子进程路径,但在我的情况下,它采用 native 路径“/usr/lib/python2.7/subprocess.py”,即PC的路径.

因此,我面临in _execute_child raise child_exception。有什么办法可以帮助解决这个问题吗?

错误如下

 File "/usr/lib/python2.7/subprocess.py", line 566, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

PS:我已经尝试过“shell=True”选项,但它没有解决我的问题。

最佳答案

如果您在构建时运行脚本,那么它将运行主机 python,因为它无法运行目标 python 二进制文件,原因很明显,它是目标二进制文件。

您显示的异常只是您正在尝试运行 popen 找不到的二进制文件。请记住,在构建内部 $PATH 已被清理,因此不会包含它在 bitbake 之外的内容。

关于Python Subprocess.Popen 不适用于跨平台 Yocto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47432904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com