gpt4 book ai didi

Python Zbar DLL 加载失败

转载 作者:太空狗 更新时间:2023-10-30 00:07:22 26 4
gpt4 key购买 nike

首先,我知道这个 similar SO Question但我的问题略有不同,那个问题的答案并没有解决我的问题。所以,我要在这里创建一个新帖子。

我已经从 http://zbar.sourceforge.net/download.html 下载了 Zbar 安装程序 并成功安装(无错误消息)。

但是,当我运行以下脚本时,

import zbar
from PIL import Image

# create a reader
scanner = zbar.ImageScanner()

# configure the reader
scanner.parse_config('enable')

# obtain image data
pil = Image.open('zbartest2.png').convert('L')
width, height = pil.size
raw = pil.tostring()

# wrap image data
image = zbar.Image(width, height, 'Y800', raw)

# scan the image for barcodes
scanner.scan(image)

# extract results
for symbol in image:
# do something useful with results
print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data

# clean up
del(image)

它给我的错误信息是 DLL 加载失败。

Traceback (most recent call last):

File "D:\Profiles\e492507\Desktop\barcode reader\test.py", line 1, in import zbar ImportError: DLL load failed: The specified module could not be found.

但与我上面提到的类似 SO 问题不同的是,当我在 python IDLE shell 中键入它时,它可以正常工作。

import zbar
zbar.version()

(0, 10)

是什么导致了这个问题,我该如何解决?

仅供引用:我在 Windows Xp pro 32 位上使用 Python 2.7.3

更新:1

我发现,如果我将脚本和图像复制到 python 目录 C:\Python27\ 中,它可以正常工作,没有任何问题。

但是,一旦我将脚本和图像移动到其他地方,我就会收到与上面发布的相同的错误消息。

我应该如何解决这个问题,以便只要条形码图像可用,我就可以在我的计算机上的任何地方执行我的脚本?

更新:2 (仅供引用:与问题没有直接关系)

我无法使用目前发现的所有方法来解决这个问题。所以,我提出了我自己的愚蠢解决方案。

我将使用 reportlab 而不是 Barcodes 绘制的简单表格,并相应地为单元格着色(黑色代表 1,白色代表 0)以表示中的数字二进制。

所以,69号会是这样的

enter image description here

然后,我可以使用 PIL 检测黑白方 block 并将其转换回二进制,然后再转换为十进制。仅供引用,我只处理十进制数。没有字母表或其他东西。我知道这很愚蠢,但危急时刻需要采取危急措施 :P

最佳答案

当从属 DLL 位于您的 PATH 中的某个位置时,它听起来像是在工作,而当您将它们移动到其他地方时它会中断。该错误具体说明它无法加载 DLL(或其依赖项之一),因此我认为这不是与 Windows 系统上已记录的不稳定性相关的问题。

要消除这种可能性,请尝试以下操作:

  1. 右键单击我的电脑,然后单击属性
  2. 点击高级标签。
  3. 点击环境变量
  4. 找到并选择 PATH 条目,然后单击编辑

在对话框中,显示变量值的地方,添加一个分号,然后添加安装libzbar-0.dll的文件夹的路径。

因此,如果 libzbar-0.dll 位于 C:\ZBar\Bin 中,并且您现有的 PATH 值为:

C:\folder1;C:\folder2;C:\其他文件夹

然后将变量值改为:

C:\folder1;C:\folder2;C:\其他文件夹;C:\ZBar\Bin

然后单击确定 以保存所有更改,然后 - 矫枉过正 - 重新启动。这是因为大多数应用程序仅在首次启动时才读取环境变量,如果您不确定某个应用程序是真的重新启动还是只是最小化,有时会造成混淆。

现在看看您是否可以从其他文件夹运行 Python 脚本。

关于Python Zbar DLL 加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com