当前位置: 首页 > 知识库问答 >
问题:

无法在Flask上找到zbar共享库

郭琨
2023-03-14

我正在尝试使用pyzbar 0.1。4在Docker中的Flask服务器上

该图像由我们创建,基于取自alpine的python 2.7。

通过以下方式安装ZBar

apk update
apk add zbar

我在运行dockerfile文件“/usr/lib/python2.7/site packages/pyzbar/pyzbar.py”时遇到以下错误

我正试图用那个库解码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

和要求。文本

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时,`pip安装zbar收集zbar下载zbar-0.10。焦油bz2。。。兹巴莫杜勒。h:26:18:致命错误:zbar。h:没有这样的文件或目录

编译终止。错误:命令“gcc”失败,退出状态为1`


共有3个答案

梁宪
2023-03-14

在Ubuntu终端只需运行此命令,这将在您的全局包中安装zbar

sudo apt-get install zbar-tools
万俟穆冉
2023-03-14

一个简单的测试,看起来不错。

FROM python:2.7
RUN apt-get update && \
    apt-get install -y build-essential libzbar-dev && \
    pip install zbar

但是zbar lib只在edge分支中可用--试图让它工作起来比它的价值更麻烦。

注意docker回购协议中没有的图片 我不知道这是你的形象

工作示例:

$ docker build -t yourimagenamehere .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM python:2.7
 ---> 9e92c8430ba0
... trunc...
Successfully built d951cd32ea74
Successfully tagged yourimagenamehere:latest
$ docker run -it --rm yourimagenamehere 
Python 2.7.14 (default, Dec 12 2017, 16:55:09) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import zbar
>>> 
上官彬
2023-03-14

在Ubuntu中安装zbar工具

sudo apt-get install zbar-tools
 类似资料:
  • 我有一个项目,我正试图从我的将其部署到。它在windows,但是当我在那里开发时,我在下面得到了这个错误。 从Azure Web应用程序登录: 我尝试过不同的解决方案,包括在我的文件,如下所示: 我怎样才能解决这个问题?

  • 我有一个项目,我正试图从我的将其部署到。它在windows,但是当我在那里开发时,我在下面得到了这个错误。 从Azure Web应用程序登录: 我尝试了不同的解决方案,包括将放入我的文件,如下所示: 我怎样才能解决这个问题?

  • 我在/usr/local/lib中有libcommon.so,我在程序中链接了这个库。 gcc -o测试test _ Prog . c-L/usr/local/lib-llib common . so 我也试过这个 gcc -o test test_prog.c -L/usr/local/lib -llibcommon 是给予 /usr/bin/ld: 找不到 -llibcommon.so 收集

  • 问题内容: 我已经将我的应用程序设置为通过UCanAccess连接到Access数据库,但是无法连接到共享驱动器上的数据库。请参阅下面的示例。 当我将共享驱动器上的文件夹映射到某个字母(例如P :)时,这很有趣。 有可能解决这个问题吗?我的用户对该文件夹具有读/写权限,但是我不想在每台计算机上映射驱动器。谢谢 问题答案: 您只是在连接URL中没有足够的正斜杠来表示UNC路径。如前所述,对于本地连接

  • 我正在使用ShareKit在Facebook上共享一条简单的文本。我使用cocoapods在我的应用程序上安装ShareKit(使用iOS7和XCode5),并遵循配置教程ConfigurationShareKit。更具体地说,我会做以下事情: 1) 将URL方案写入plist。 2) 创建DefaultShkConfiguration子类: 3)在AppServer ate中进行初始配置: 4)

  • 问题内容: 我正在Python中进行多处理实验,并试图在两个进程之间共享一个字符串数组。这是我的python代码: 运行脚本时,我看到该脚本已正确填充,并且可在中找到,但不能在中找到。结果如下: 我忽略了什么吗? 预先感谢您的反馈。:) 问题答案: 我的猜测是: 存储3个指针。将它们分配给当前进程之外没有意义的内存地址。尝试访问此时包含垃圾邮件的无意义地址。 分配对所有过程都有意义的值似乎有帮助: