Chr*_*ung 6 python dll importerror zbar
首先,我知道这个类似的SO问题,但我的问题略有不同,那个问题的答案并没有解决我的问题.所以,我在这里创建一个新帖子.
我从http://zbar.sourceforge.net/download.html下载了Zbar Installler并成功安装(没有错误消息).
但是,当我运行以下脚本时,
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)
Run Code Online (Sandbox Code Playgroud)
它给我错误消息说DLL加载失败.
Traceback(最近一次调用最后一次):
导入zbar中的文件"D:\ Profiles\e492507\Desktop\barcode reader\test.py",第1行ImportError:DLL加载失败:找不到指定的模块.
但与上面提到的类似的SO问题不同,当我在python IDLE shell中输入它时,它没有任何问题.
import zbar
zbar.version()
Run Code Online (Sandbox Code Playgroud)
(0,10)
是什么导致了这个问题,我该如何解决?
仅供参考:我在Windows Xp pro 32位上使用Python 2.7.3
更新:1
我发现如果我将脚本和图像复制到python目录中,C:\Python27\它可以正常工作而没有任何问题.
但是,只要我将脚本和图像移动到其他地方,我就会收到上面发布的相同错误消息.
我应该如何解决这个问题,以便只要条形码图像可用,我就可以在计算机的任何地方执行我的脚本?
更新:2 (仅供参考:不直接与问题有关)
使用我到目前为止发现的所有方法,我无法解决这个问题.所以,我正在推出自己的愚蠢解决方案.
我将使用一个简单的表来reportlab代替Barcodes并相应地为单元格着色(黑色表示1,白色表示0)表示二进制数字.
所以,69号将是这样的

然后,我可以PIL用来检测黑色和白色方块,并将其转换回二进制,然后转换为十进制.仅供参考,我只处理十进制数字.没有字母和其他东西.我知道这是非常愚蠢但绝望的时候需要绝望的措施:P
您安装的Windows 版本zbar( zbar-0.10-setup.exe) 包括“仅命令行程序”,如其文件中所述README.windows。它还在Windows 安装指南的运行 ZBar部分中提到“ZBar 的当前(0.10)版本仅附带命令行程序” 。
在ZBar 条形码阅读器 - 下载页面的Windows 安装程序部分中,它显示:
“请注意,Windows 端口处于不稳定的测试阶段。”
换句话说,它还不能在 Windows 版本的 Python 解释器中使用。