【发布时间】:2022-01-16 20:09:34
【问题描述】:
我试图在 Docker 的 Flask 服务器上使用 pyzbar 0.1.4
图像由我们创建,基于取自 alpine 的 python 2.7。
安装ZBar
apk update
apk add zbar
运行 dockerfile 时出现以下错误
File "/usr/lib/python2.7/site-packages/pyzbar/pyzbar.py", line 8, in <module>
from .wrapper import (
File "/usr/lib/python2.7/site-packages/pyzbar/wrapper.py", line 166, in <module>
c_uint_p, # minor
File "/usr/lib/python2.7/site-packages/pyzbar/wrapper.py", line 159, in zbar_function
return prototype((fname, load_libzbar()))
File "/usr/lib/python2.7/site-packages/pyzbar/wrapper.py", line 135, in load_libzbar
raise ImportError('Unable to find zbar shared library')
ImportError: Unable to find zbar shared library
我正在尝试使用该库解码 QR 图像
Dockerfile
FROM buffetcontainerimages.azurecr.io/base/buffetcloud-python:0.1
RUN pip install --upgrade pip setuptools wheel
COPY wheeldir /opt/app/wheeldir
COPY *requirements.txt /opt/app/src/
RUN pip install --use-wheel --no-index --find-links=/opt/app/wheeldir \
-r /opt/app/src/requirements.txt
RUN pip install --use-wheel --no-index --find-links=/opt/app/wheeldir \
-r /opt/app/src/test-requirements.txt
COPY . /opt/app/src/
WORKDIR /opt/app/src
RUN python setup.py install
EXPOSE 5000
CMD dronedemo
还有 requirements.txt
requests>=2.18.4
flask>=0.12.2
mechanize>=0.3.6
regex>=2.4.136
PyPDF2>=1.26.0
bs4>=4.5.3
pyzbar>=0.1.4
openpyxl>=2.5.0
selenium>=3.9.0
matplotlib>=2.1.2
当 pip 安装 zbar ` 点安装zbar 收集 zbar 下载 zbar-0.10.tar.bz2 ... zbarmodule.h:26:18:致命错误:zbar.h:没有这样的文件或目录
包括
编译终止。 错误:命令“gcc”失败,退出状态为 1 `
【问题讨论】:
-
你能分享一下 Dockerfile 之类的吗?
-
这看起来很奇怪。 dll 通常表示 windows。然后你用'/usr/lib/python2.7/...'显示一个堆栈跟踪,它告诉我你在一个*nix系统上..你能否发布你的dockerfile(必须)和python req文件以防万一。
-
@Ivonet 添加了 dockerfile 和要求
-
这张图片来自哪里?它的依据是什么?
scratch?debian?包是怎么安装的? -
另一方面:pyzbar 看起来像是 Windows 的包装器,github.com/NaturalHistoryMuseum/pyzbar 所以这不是你想要使用的。