Win 10, x64, Python 2.7, Anaconda
По крайней мере, 2 сообщения об этом здесь .Ни одна из них не решает мою проблему.
Я пытаюсь прочитать QR-коды, поэтому установил zbar
после загрузки колеса с помощью pip install zbar-0.10-cp27-none-win_amd64.whl
Я попытался установить с pip install zbar
безуспешно(да, я установил соответствующую версию VS).
Что касается командной строки conda, то установлена zbar
.
Поэтому я попытался запустить следующую программу ....
import pyqrcode
from qrtools import QR
Q = pyqrcode.create('Q')
Q.png('Q.png', scale=55)#, module_color=[0, 0, 0, 128], background=[0xff, 0xff, 0xcc])
Q.show(wait=1.2, scale=10, module_color=(0, 0, 0, 255), background=(255, 255, 255, 255), quiet_zone=4)
D = QR(filename='Q.png')
D.data_to_string()
Полученная трассировка ...
Traceback (most recent call last):
File "<ipython-input-10-ecc93a89ee73>", line 1, in <module>
runfile('C:/Users/Technical/Moving_Targets/barcode-scanner/QR_code_example.py', wdir='C:/Users/Technical/Moving_Targets/barcode-scanner')
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 93, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/Technical/Moving_Targets/barcode-scanner/QR_code_example.py", line 9, in <module>
from qrtools import QR
File "C:\ProgramData\Anaconda2\lib\site-packages\qrtools\__init__.py", line 4, in <module>
from qrtools.qrtools import *
File "C:\ProgramData\Anaconda2\lib\site-packages\qrtools\qrtools.py", line 28, in <module>
import zbar
ImportError: DLL load failed: The specified module could not be found.
Итак, я смотрю на DLL и обнаруживаю, что zbar
отсутствует в папке site-packages, где яожидал этого
Информация о распространении есть, но фактического пакета нет!
Где это может быть?
Дополнительное примечание: у меня есть версия zbar, которая является независимым автономным исполняемым файлом (который будет запускаться только из командной строки и не позволит мне использовать os.system()
или subprocess.call()
по неизвестной причине), он работает просто отлично.