首先,我知道这个问题,但我的问题稍有不同,这个问题的答案并没有解决我的问题。所以,我在这里创建一个新的帖子。在
我已经从http://zbar.sourceforge.net/download.html下载了Zbar installer,并成功安装(没有错误消息)。在
但是,当我运行以下脚本时
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空闲shell中键入这个问题时,它的工作没有任何问题。在
^{pr2}$(0, 10)
问题的起因是什么?我如何解决它?在
仅供参考:我正在WindowsXPPro上使用32位的Python2.7.3
更新:1
我发现,如果我将脚本和图像复制到python目录C:\Python27\
,它可以正常工作,没有任何问题。在
然而,当我把脚本和图像移到其他地方时,我收到了上面发布的同样的错误消息。在
我应该如何解决这个问题,这样只要条形码图像可用,我就可以在计算机的任何地方执行脚本?在
更新:2(仅供参考:与问题无关)
我不能用我发现的所有方法来解决这个问题到目前为止,我会拿出我自己愚蠢的解决方案。在
我将使用一个由reportlab
而不是Barcodes
绘制的简单表格,并相应地为单元格着色(1为黑色,0为白色),以表示二进制中的数字。在
所以,69号应该是这样的
然后,我可以使用PIL
来检测黑白方块,并将其转换回二进制然后转换成十进制。仅供参考,我只处理十进制数。没有字母表或其他东西。我知道这是相当愚蠢的,但绝望的时刻需要绝望的措施:P
您安装的
zbar
的Windows版本(zbar-0.10-setup.exe
)包含“仅命令行程序”,如其README.windows
文件中所述。在Windows Installation Guide的运行ZBar部分中,还提到“ZBar的当前(0.10)版本只附带命令行程序”。在在ZBar bar code reader - Download页面的Windows安装程序部分显示:
请注意,Windows端口处于不稳定的测试阶段
换句话说,它还不能从Windows版本的Python解释器中使用。在
当依赖DLL位于
PATH
中的某个位置时,它似乎在工作,当您将它们移到其他位置时,它就会中断。错误是明确地说它不能加载DLL(或它的一个依赖项),所以我认为这不是与Windows系统上记录的不稳定性有关的问题。在要消除这种可能性,请尝试以下操作:
PATH
条目,然后单击编辑。在在对话框中,它显示Variable value,添加一个分号,然后添加到安装了
libzbar-0.dll
的文件夹的路径。在因此,如果
libzbar-0.dll
在,比如说,C:\ZBar\Bin
中,而您现有的PATH
值是:C:\folder1;C:\folder2;C:\some other folder
然后将变量值更改为:
C:\folder1;C:\folder2;C:\some other folder;C:\ZBar\Bin
然后单击确定保存所有更改并重新启动(对于过度终止)。这是因为大多数应用程序只在第一次启动时读取环境变量,例如,如果您不确定某个应用程序是否真的重新启动了,或者只是最小化了,那么有时会令人困惑。在
现在看看是否可以从其他文件夹运行Python脚本。在
相关问题 更多 >
编程相关推荐