2013-12-16 33 views
0

我有這個腳本從圖像中讀取條形碼。腳本只適用於Python安裝目錄

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) 

當我主目錄是C:\Python27它工作沒有任何問題,把這個腳本蟒。

但是,當我把這個腳本以外的主目錄,如C:\myscript,它給了我錯誤說,import zbar - module The specified module could not be found

是什麼導致了這個問題?

我使用的Windows XP 32位SP3的Python 2.7 32位

編輯:

我從IDLE窗口通過使用運行模塊命令(F5) 執行;全回溯

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 
+5

什麼是* full *回溯(即複製/粘貼打印到命令提示符的所有內容)?你如何執行這個腳本? – Blender

+1

如果你在'c:\ python27'運行下面的命令,你會得到什麼:'import zbar;打印zbar .__ file__'? – falsetru

+0

哪個模塊?你得到了什麼確切的錯誤? – 2013-12-16 03:57:31

回答

-3

請確保您具有與此腳本在同一目錄中導入的所有文件

+1

所有導入的文件不需要與腳本相同的目錄 - 所以這個答案顯然是錯誤的。 – martineau

0

似乎dll位於c:\ Python27中,但c:\ Python27不在搜索路徑中。嘗試在導入zbar之前添加

import sys 

sys.path.append("C:\Python2.7") 

到您的代碼。

如果工作正常,那麼你必須配置你的Python的搜索路徑,以便添加C:\ Python27。我在linux上工作,抱歉,我無法幫助您在Windows上執行此操作。

編輯:嗯,我不喜歡寫一個答案,我不知道該怎麼做。所以我做了一些研究,尋找一些幫助我找出問題所在的文檔。並在這裏找到它importing PYD files

+0

手動配置Python搜索路徑的一種方法是修改標準庫中的'site.py'文件。 Python解釋器運行時會自動導入此模塊(除非這樣做是通過命令行開關禁止的)。有關更多詳細信息,請參閱聯機文檔中的[_修改Python的搜索路徑_](http://docs.python.org/release/2.7.6/install/index.html#modifying-python-s-search-path)。 – martineau