脚本仅适用于Python安装目录

时间:2013-12-16 03:52:43

标签: python python-2.7 module directory zbar

我有这个脚本从图像中读取条形码。

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

2 个答案:

答案 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)

确保您将要导入的所有文件都放在与此脚本相同的目录中