gpt4 book ai didi

python - 使用 buildroot 在 rootfs 中复制 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:29 26 4
gpt4 key购买 nike

我正在尝试将我的 Python 脚本包含在我的 Linux 镜像中(用于 Raspberry Pi)。我有 11 个脚本,我想将它们放在一个如下所示的文件中:/app/scripts/all_my_python_scripts.py多亏了这一点,我将能够在启动时间后调用脚本来自动启动守护进程。

目前,我在/path-to-buildroot/buildroot/package/python-scripts 中有这些 .mk 和 Config.in 文件:

配置.in

config BR2_PACKAGE_PYTHON_SCRIPTS
bool "python-scripts"
default "y"
help
Import all Python (3.7.2) scripts

python脚本.mk

PYTHON_PYTHON_SCRIPTS_VERSION = 1.0
PYTHON_PYTHON_SCRIPTS_SOURCE = ../../scripts/
PYTHON_PYTHON_SCRIPTS_LICENSE = BSD-3-Clause
PYTHON_PYTHON_SCRIPTS_TYPE = distutils

define PYTHON_PYTHON_SCRIPTS_COPY
@$(call MESSAGE,"Syncing python scripts to $(TARGET_DIR)")
cp ../../scripts/* $(TARGET_DIR)/scripts/
endef
$(eval $(generic-package))

我尝试修改源路径和“generic-package”,但仍然是同样的问题。我还正确地更新了 buildroot/package/Confin.in,并用 make menuconfig 进行了双重检查。我目前正在尝试 tar 我的 python 脚本(在编译之前)将它们存储在 buildroot/dl 中并通过 makefile 精确它们,但这听起来根本不符合逻辑......我想存在更简单的方法。

有时 buildroot 尝试下载一些文件……有时它编译但没有任何反应。但是,我注意到我看不到我的“调用消息”,我遗漏了一些东西......

最佳答案

首先,.mk文件中变量的前缀必须等于文件名,不带 '.mk',大写并使用下划线代替破折号:

  • PYTHON_PYTHON_SCRIPTS_VERSION -> PYTHON_SCRIPTS_VERSION
  • PYTHON_PYTHON_SCRIPTS_SOURCE -> PYTHON_SCRIPTS_SOURCE
  • 等等

此外,Buildroot 中没有“COPY”步骤,因此变量 PYTHON_SCRIPTS_COPY 将被忽略。您可能想使用“安装”步骤:

  • PYTHON_PYTHON_SCRIPTS_COPY -> PYTHON_SCRIPTS_INSTALL_TARGET_CMDS

最后,“SCRIPTS_TYPE”步骤特定于 Python 包基础结构。由于您使用的是通用包基础结构,因此该变量将被忽略。


注意:如果您只需要在 rootfs 中复制文件,则一个完全不同的解决方案是使用根文件系统覆盖 (BR2_ROOTFS_OVERLAY)。更简单,检查一下,看看它是否符合您的需求。

关于python - 使用 buildroot 在 rootfs 中复制 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55683333/

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