自定义 Python 的 Yocto Warrior 自定义 Bitbake 配方无法安装轮文件,因为找不到 pip3

Yocto Warrior Custom Bitbake Recipe for Custom Python Wheel file cannot install because pip3 not found

我正在使用 meta-tegra 为我的 NVIDIA Jetson Nano 构建自定义图像。我需要 PyTorch,但没有它的配方。我在设备上构建了 PyTorch,并将其打包到设备上的轮子中。现在,我想将该轮子集成到我的自定义 Yocto 层中。我的图像包含 python3-pip,我可以在我的设备上启动 pip3。问题是当我尝试执行我的 bitbake 配方时,Bitbake 总是失败并出现以下错误:

/home/ubuntu/Desktop/comp-jetson-yocto/build/tmp/work/jetson_nano-poky-linux/torch/1.1.0-r0/temp/run.do_install.16557: 115: /home/ubuntu/Desktop/comp-jetson-yocto/build/tmp/work/jetson_nano-poky-linux/torch/1.1.0-r0/temp/run.do_install.16557: pip3: not found

这是我的食谱:

DESCRIPTION = "NVIDIA's version of Python Torch"
HOMEPAGE = "https://nvidia.com"
LICENSE = "BSD-3-Clause"

inherit setuptools3

RDEPENDS_${PN} = "python3 \
                  python3-pip \
                  "

SRC_URI = "\
        file://torch-1.1.0-cp37-cp37m-linux_aarch64.whl \
        file://LICENSE \
"

SRC_URI[md5sum] = "9ec85425a64ca266abbfdeddbe92fb18"
SRC_URI[sha256sum] = "3b9b8f944962aaf550460409e9455d6d6b86083510b985306a8012d01d730b8b"

COMPATIBLE_MACHINE = "(tegra)"
COMPATIBLE_MACHINE_comp = "(-)"

LIC_FILES_CHKSUM = "file://../LICENSE;md5=acf4d595f99e159bf31797aa872aef57"

S = "${WORKDIR}/${PN}-${PV}"

do_configure() {
        :
}

do_compile() {
        :
}

do_install() {
        pip3 install torch-1.1.0-cp37-cp37m-linux_aarch64.whl
}

PACKAGE_ARCH = "jetson_nano"

我无法在 Google 上找到任何关于如何让我的食谱使用 pip 安装自定义 wheel 文件的有用信息。我怎样才能做到这一点?谢谢。

Bitbake 需要本机版本 pip3:

DEPENDS = "python3-pip-native"

我必须在安装行中使用 ${WORKDIR},所以 pip3 安装 ${WORKDIR}/torch-1.1.0-cp37-cp37m-linux_aarch64.whl 这是因为安装命令在构建目录中运行,但 .whl 文件在 WORKDIR

也不需要这一行 S = "${WORKDIR}/${PN}-${PV}"