微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Balena 安装 librealsense 的问题 make install 后找不到文件?

如何解决使用 Balena 安装 librealsense 的问题 make install 后找不到文件?

我一直在尝试使用 Balena 在我的 RaspBerry Pi4 上设置 librealsense。我的 docker 文件看起来像:

FROM balenalib/raspBerrypi3-ubuntu:xenial-build
RUN sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
RUN sudo apt-get install -y python3 \
    python3-dev \
    python3-pip \
    python3-setuptools 

RUN sudo apt-get install -y git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev cmake libglfw3-dev build-essential 
RUN git clone https://github.com/IntelRealSense/librealsense.git
RUN cd librealsense/ && ./scripts/setup_udev_rules.sh
RUN mkdir build &&\
    cd build &&\
    cmake /librealsense/ -DBUILD_PYTHON_BINDINGS=true -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=false -DCMAKE_BUILD_TYPE=Release &&\
    make all -j4 &&\
    sudo make all 

copY librealsense/build/ /usr/src/app/

#switch on systemd init system in container
ENV INITSYstem on

workdir /usr/src/app
copY ./app/ /usr/src/app/


#Run our binary on container startup
CMD ["python3","/usr/src/app/test_server.py"]

我的 test_server.py 看起来像:

import sys,os
print("TEST")
rootdir = '/usr/src/app'
for f in os.listdir(rootdir):
    print(f)
print(sys.version)
try:
    user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
    user_paths = []
print(user_paths)
print(sys.path)
sys.path.append('/usr/src/app/')
import pyrealsense2 as rs

我无法导入 pyrealsense 或复制构建的 .so 文件以放入我的 python 应用程序文件夹。我在创建 docker 映像时收到“librealsense/build/python 不存在”错误。我的 librealsense 安装缺少什么?

解决方法

我认为你的问题是

COPY librealsense/build/ /usr/src/app/

这将尝试从您的构建上下文(又名主机)中复制“librealsense/build”。您需要将 'RUN' 与 'cp' 一起使用,例如

RUN cp librealsense/build/ /usr/src/app/

或在单个 RUN 命令中:

RUN mkdir build &&\
    cd build &&\
    cmake /librealsense/ -DBUILD_PYTHON_BINDINGS=true -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=false -DCMAKE_BUILD_TYPE=Release &&\
    make all -j4 &&\
    sudo make all  &&\
    cp librealsense/build/ /usr/src/app/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。