我有这个脚本从图像中读取条形码。
from PIL import Image
import zbar
scanner = zbar.ImageScanner()
scanner.parse_config('enable')
pil = Image.open('zbartest2.png').convert('L')
width, height = pil.size
raw = pil.tostring()
image = zbar.Image(width, height, 'Y800', raw)
scanner.scan(image)
for symbol in image:
print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data
del(image)
当我把这个脚本放在python主目录C:\Python27
时,它没有任何问题。
但是,当我把这个脚本放在主目录之外,例如C:\myscript
时,它会给我一个错误,说import zbar - module The specified module could not be found
。
导致问题的原因是什么?
我在Windows Xp 32bits SP3上使用Python 2.7 32位
编辑:
我正在使用运行模块命令(F5)从IDLE窗口执行它 ;完全追溯
Traceback (most recent call last):
File "C:\myscript\test.py", line 2, in <module>
import zbar
ImportError: DLL load failed: The specified module could not be found.
当我输入import zbar; print zbar.__file__
时
我得到以下消息
C:\Python27\lib\site-packages\zbar.pyd
答案 0 :(得分:0)
似乎dll在c:\ Python27中,但c:\ Python27不在搜索路径中。尝试添加
import sys
sys.path.append("C:\Python2.7")
在导入zbar之前到您的代码。
如果工作正常,则必须配置python的搜索路径才能添加C:\ Python27。我在linux上工作,抱歉,我无法帮你在Windows上做到这一点。
编辑:嗯,我不喜欢写一个我不知道该怎么做的答案。所以我做了一些研究,寻找一些帮助我弄清问题是什么的文档。并在importing PYD files找到了它。
答案 1 :(得分:-3)
确保您将要导入的所有文件都放在与此脚本相同的目录中