如何将Zbar导入到我的Python 3.4脚本中?

我对编程相当陌生,以前从未使用过Zbar。 我想写一个简单的脚本,将允许我导入Zbar并使用它来解码条形码图像。 我已经设置了一个脚本来解码使用Pytesseract和Tesseract OCR的图像中的文本,但是我也需要能够解码条形码。 我有Windows 7 32位,并且正在使用Python 3.4。 我已经安装了Zbar,并成功地从命令行中使用它来解码他们的条形码样本。 我曾尝试使用> PIP安装ZBAR,但我不断收到错误:

“致命错误C1083:无法打开包含文件:'zbar.h':没有这样的文件或目录错误:命令'C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ BIN \ cl.exe'失败,退出状态2”

获得pytesseract OCR是无痛的,但我浪费了很多时间在这个条码部分,任何帮助或替代品将不胜感激。

我想我会分享我的探索和发现与这个问题有关,即使@ ltadams21已经找到了解决办法。


简短的回答:你不能。 zbar模块只与Python 2兼容。不兼容性在Python C API级别,这是超越我的肯定的深刻魔力。

这是一个错误报告 。 同时,使用@ ltadams21发布的os.system解决方法,或者尝试使用zbarlight ? (我自己没有尝试过,因为它只读取QR码,我需要读取EAN条码。)


漫长的回答:您可以按照这些步骤进行操作,这些步骤代表了我最大的努力来实现它,但是(扰流警报)它仍然不会在最后工作。

  1. (重新)安装zbar for Windows( zbar-0.10-setup.exe ),确保勾选“开发头文件和库”选项。
  2. 下载并解压缩zbar Python包 ( zbar-0.10.tar.bz2 )。
  3. 在你喜欢的文本编辑器中打开setup.py
  4. 滚动到底部,找到启动libraries的行,并在其下面插入一个新行,如下所示(检查系统上的路径与我的系统上的路径相同):
  libraries = [ 'zbar' ], include_dirs = ['C:/Program Files (x86)/ZBar/include'], 
  1. 在解压缩的包中打开一个命令提示符并运行python setup.py install
  2. 注意到现在新的错误与PyIntObjectPyInt_Type 。 发现这些是仅Python 2的对象。
  3. 如果不顾PyLongObject ,试着重新定义它们来改用PyLongObjectPyLong_Type 。 失败,因为当然不是那么容易。 把头撞向键盘(轻轻地)。
  4. 放弃,并使用@ ltadams21张贴的os.system解决方法。

忘记与所有的包装摔跤。 对我来说最简单的解决方案就是简单的使用

进口操作系统

os.system(r'D:\ Winapps \ Zbar \ bin \ zbarimg.exe -dd:\ Winapps \ Zbar \ Examples \ barcode.png)

立即工作。 希望这可以帮助任何人解决这个问题。

Python的ZBar说,你需要安装ZBar库才能工作。 http://zbar.sourceforge.net/download.html

对于python3 ,如果你在Linux上,有一个名为pyzbar的软件包,你需要安装libzbar0但是你说你正在使用Windows,并且包含了dll。