1. 程式人生 > >windows 10 上安裝zbar(python)

windows 10 上安裝zbar(python)

環境

  • 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.net/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包


  • 修改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.com/npinchot/zbar上下載。參考https://github.com/npinchot/zbar/commit/d3c1611ad2411fbdc3e79eb96ca704a63d30ae69