Во-первых, я знаю об этом similar SO Question, но моя проблема немного отличается, и ответ в этом вопросе не помог решить мою проблему. Итак, я создаю новый пост здесь.Ошибка загрузки DLL Python Zbar
Я скачал Zbar Installler из http://zbar.sourceforge.net/download.html и сумел не успешно (сообщение об ошибке) установлена.
Но, когда я запускаю следующий сценарий,
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 вопрос я уже упоминал выше, когда я печатаю это в питона IDLE оболочки, она работает без каких-либо проблем.
import zbar
zbar.version()
(0, 10)
Что является причиной этой проблемы и как это исправить?
FYI: Я использую Python 2.7.3 на Windows XP Pro 32 бит
UPDATE: 1
я узнал, что если я скопировать скрипт и файл в папку питона C:\Python27\
он отлично работает без каких-либо проблем.
Однако, как только я перемещаю сценарий и изображение в другие места, я получил то же сообщение об ошибке, которое было опубликовано выше.
Как исправить это, чтобы я мог выполнять свой сценарий в любом месте на моем компьютере до тех пор, пока изображение штрих-кода доступно?
UPDATE: 2(ТОЛЬКО ДЛЯ INFO: НЕ ПРЯМО СВЯЗАНО К ВОПРОСУ)
Я не в состоянии решить эту проблему, используя все методы я обнаружил так far.So, я я выхожу с моим собственным глупым решением.
Я собираюсь использовать простую таблицу, нарисованную reportlab
, вместо Barcodes
и цвет клеток соответственно (черный для 1 и белый для 0), чтобы представлять числа в двоичном формате.
Таким образом, число 69 будет что-то вроде этого
Тогда я могу использовать PIL
обнаружить черные и белые квадраты и скрытые его обратно в двоичный затем в десятичную. FYI, я имею дело только с десятичными числами. Нет алфавитов и других материалов. Я знаю, что это довольно глупо, но отчаянные времена требуют отчаянных мер: P
Я могу запустить тот же точный скрипт на моем компьютере 'windows 8', используя тот же установщик' zbar' с той же версией python. Тем не менее, я не могу заставить его работать на моем компьютере windows xp. –
Как говорят документы, он нестабилен. – martineau