环境

  • OS: windows 10 64位
  • Compiler: VS2015(C++)
  • Python: 2.7 32位
  • zbar(dll): zbar-0.10-setup.exe
  • zbar(python): zbar-0.10.tar.bz2

安装

安装zbar库(dll)及其头文件

  • https://sourceforge/projects/zbar/上下载zbar-0.10-setup.exe
  • 安装时要勾选Development Headers and Libraries
  • 安装目录:D:\programs\ZBar(示例)。

配置PATH、INCLUDE和LIB环境变量

  • PATH中添加D:\programs\ZBar\bin。
  • INCLUDE中添加D:\programs\ZBar\include。
  • LIB中添加D:\programs\ZBar\lib。

安装zbar python包


  • 建议从https://github/npinchot/zbar上下载zbar python包(解决了import zbar时崩溃问题)。
  • 不要在官网https://pypi.python/pypi/zbar/0.10上下载(未解决import zbar时崩溃问题)。
  • 修改zbar python包里的setup.py:把libraries = [ 'zbar' ] 改为 libraries = [ 'libzbar-0' ]
  • 安装zbar python包,在命令行中执行python install setup.py
  • 检查:
    • 在当前目录下会生成build\lib.win32-2.7\zbar.pyd文件。
    • python安装目录\Lib\site-packages下同样会有zbar.pyd文件。

pyd是一个dll文件。zbar.pyd是zbar的python包装器,引用了D:\programs\ZBar\bin\libzbar-0.dll。

总结

python install setup.py提示找不到zbar.h

  • zbar python包编译时要引用zbar.h及其libzbar-0.lib等。应安装zbar库及其头文件,并配置好INCLUDE和LIB环境变量。

python install setup.py执行成功,在import zbar时提示 ImportError: DLL load failed。

  • 没有把zbar库(libzbar-0.dll等)加入到PATH环境变量中去。

import zbar时崩溃

  • 这是imagescanner.c中的一个bug。pypi官网上的安装包并没有解决这个问题。建议去https://github/npinchot/zbar上下载。参考https://github/npinchot/zbar/commit/d3c1611ad2411fbdc3e79eb96ca704a63d30ae69

更多推荐

windows 10 上安装zbar(python)