问:如何解决pyzbar中缺少的依赖性

问题描述

我目前正在Windows 10上通过蟒蛇3.8.5通过anaconda使用spyder,我正在尝试使用pyzbar软件包制作条形码读取器。当我尝试运行脚本时,尝试运行from pyzbar.pyzbar import decodefrom pyzbar import pyzbar时收到以下错误消息:

  Traceback (most recent call last):

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\zbar_library.py",line 58,in load
    dependencies,libzbar = load_objects(Path(''))

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\zbar_library.py",line 50,in load_objects
    deps = [

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\zbar_library.py",line 51,in <listcomp>
    cdll.LoadLibrary(str(directory.joinpath(dep)))

  File "C:\Users\norinhan\Anaconda3\lib\ctypes\__init__.py",line 459,in LoadLibrary
    return self._dlltype(name)

  File "C:\Users\norinhan\Anaconda3\lib\ctypes\__init__.py",line 381,in __init__
    self._handle = _dlopen(self._name,mode)

FileNotFoundError: Could not find module 'libiconv.dll' (or one of its dependencies). Try using the full path with constructor Syntax.


During handling of the above exception,another exception occurred:

Traceback (most recent call last):

  File "<ipython-input-1-95ae0761f4b5>",line 1,in <module>
    from pyzbar.pyzbar import decode

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\pyzbar.py",line 7,in <module>
    from .wrapper import (

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\wrapper.py",line 139,in <module>
    zbar_version = zbar_function(

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\wrapper.py",line 136,in zbar_function
    return prototype((fname,load_libzbar()))

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\wrapper.py",line 115,in load_libzbar
    libzbar,dependencies = zbar_library.load()

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\zbar_library.py",line 60,libzbar = load_objects(Path(__file__).parent)

  File "C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\zbar_library.py",mode)

FileNotFoundError: Could not find module 'C:\Users\norinhan\Anaconda3\lib\site-packages\pyzbar\libiconv.dll' (or one of its dependencies). Try using the full path with constructor Syntax.

仅尝试运行import pyzbar时,它将编译,但将无法访问任何功能。当我尝试时会收到以下消息:

Traceback (most recent call last):

  File "<ipython-input-3-26272af93b8a>",in <module>
    pyzbar.pyzbar.decode()

AttributeError: module 'pyzbar' has no attribute 'pyzbar'

我查找了documentation for pyzbar on github,其中指出“ Windows Python轮子随附zbar DLL”,但在任何地方都找不到。我发现最接近“ Windows Python轮子”的是the wheel package,其中不包含有关pyzbar的任何信息。

关于如何解决此问题的任何建议?

解决方法

访问 https://pypi.org/project/pyzbar/#files 下载 pyzbar-0.1.8-py2.py3-none-win_amd64.whl。

enter image description here

你可以在wheel包中找到所有的DLL文件。

enter image description here

,

我刚刚遇到了这个问题。 如果你的 OS & python 是 x64 版本,那只是因为缺少 vc 2013 x64 运行时。

你可以找到Visual C++ Redistributable Packages for Visual Studio 2013 here

下载并安装。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...