我正在尝试为Raspberry Pi 4构建Python IoEdge模块(使用Docker构建图像)
我将IoEdge解决方案的目标体系结构设置为arm32v7
我不认为我的requirements.txt
有任何问题,但仅供参考:
requirements.txt
azure-iot-device~=2.0.0
opencv-python
numpy
requests
Dockerfile
FROM arm32v7/python:3.7-slim-buster
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .
CMD [ "python3", "-u", "./main.py" ]
我运行以下命令:
docker build --rm -f "path/to/Dockerfile" -t dockerTag "path/to/module/project"
但是,我得到以下错误:
Step 4/7 : RUN pip install -r requirements.txt
---> Running in 515aac4bdc38
standard_init_linux.go:219: exec user process caused: exec format error
我读到here要构建到ARM,我必须使用docker buildx
。我用--platform linux/arm32
创建了一个buildx
容器。我切换到使用此容器,并运行:
docker buildx build --platform linux/arm32 --rm -f "path/to/Dockerfile" -t dockerTag "path/to/module/project"
然而,现在我得到:
=> ERROR [4/7] RUN pip install -r requirements.txt 2.2s
------
> [4/5] RUN pip install -r requirements.txt:
#8 0.727 standard_init_linux.go:219: exec user process caused: exec format error
------
Dockerfile.arm32v7:22
--------------------
20 | # libcurl4-openssl-dev
21 |
22 | >>> RUN pip install -r requirements.txt
23 |
24 | COPY . .
--------------------
error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c pip install -r requirements.txt]: exit code: 1
我的开发机器:
我还试图直接在覆盆子Pi 4本身上构建它,但遗憾的是,它给了我同样的错误。 我不知道该怎么办。有什么建议吗
奇怪的是,当我在Windows机器上而不是使用Manjaro Linux时,它成功地构建了。我仍然想知道为什么
相关问题 更多 >
编程相关推荐