在 Arm/V7 上使用 Docker 的多线程 Python

问题描述 投票:0回答:0

我在 arm/v7 上使用 python 的线程库和 docker 时偶然发现了一个问题

错误如下

Fatal Python error: take_gil: PyCOND_WAIT(gil->cond) failed
Python runtime state: initialized

Current thread 0xb6840d84 (most recent call first):
  <no Python frame>

Thread 0xb6f8245c (most recent call first):
  File "/usr/local/lib/python3.10/threading.py", line 320 in wait
  File "/usr/local/lib/python3.10/threading.py", line 607 in wait
  File "/usr/local/lib/python3.10/threading.py", line 940 in start
  File "//main.py", line 4 in <module>

当我直接在覆盆子上运行文件

main.py
时一切顺利;我有立即回报。

但是当通过docker运行它时,我得到了错误。 我尝试了 alpine 和 bullseye 版本的 python3.10 图像。

我的配置是树莓派

➜  ~ uname -a
Linux raspberrypi 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
➜  ~ 

DockerFile

FROM python:3.10-alpine

ENTRYPOINT ["python3", "main.py"]

COPY . .

CMD []

main.py

from threading import Thread

thread = Thread()
thread.start()

感谢您为我提供的所有帮助。

python docker python-multithreading
© www.soinside.com 2019 - 2024. All rights reserved.