【问题标题】:Python26, Win32, ZBar - ImportError: DLL load failedPython26、Win32、ZBar - ImportError:DLL 加载失败
【发布时间】:2011-10-15 02:25:23
【问题描述】:

我正在使用 Python 2.6 (x86) 并尝试安装 ZBar 模块。

我下载了当前版本的 ZBar(Win32-Installer): http://zbar.sourceforge.net/download.html

以及 PyPi 上模块的当前版本: http://pypi.python.org/pypi/zbar

ZBar(提示和网络摄像头)工作正常,但一旦我尝试在 Python 中导入 zbar,就会引发以下错误:

import zbar
ImportError: DLL load failed

当我尝试使用模块的二进制 Windows 安装程序时会发生这种情况,但我也尝试使用始终以以下方式退出的 setup.py

running install
running build
running build_ext
building 'zbar' extension
error: None

谢谢你, 迈克尔

编辑:我还尝试使用 Dependency Walker 对 Lib/site-packages/zbar.pyd 进行故障排除,它提出了 libzbar-0.dllpython26.dll 丢失。

【问题讨论】:

    标签: python


    【解决方案1】:

    libzbar-0.dll 的路径添加到您的系统PATH,以便在加载zbar.pyd 时Windows 可以找到它。

    编辑:我安装了应用程序和 Python 库。以下是如何通过控制面板系统配置在不更改 PATH 的情况下使其工作:

    >>> zbar_path = os.path.join(os.environ['ProgramFiles'], 'zbar', 'bin')
    >>> os.environ['PATH'] = "{0};{1}".format(os.environ['PATH'], zbar_path)
    
    >>> import zbar
    >>> zbar.version()
    (0, 10)
    

    【讨论】:

    • @DrBwts,您必须自己解决问题。使用 dumpbin 验证 zbar.pyd 的依赖关系。验证 os.listdir(os.path.join(os.environ['ProgramFiles'], 'zbar', 'bin')) 是否包含依赖的 zbar DLL,例如libzbar-0.dll。调查依赖 DLL 的依赖关系,等等。学习使用本机调试器(不是 Python——诸如 windbg 或 cdb 之类的)并在启用加载程序快照的情况下逐步完成导入。
    猜你喜欢
    • 2016-07-13
    • 2016-03-03
    • 2020-04-04
    • 2017-07-24
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    相关资源
    最近更新 更多