qr코드를 인식하기 위해 pyzbar를 설치하고 실행했는데 자꾸 오류가 납니다.
설치된 곳에 들어갔지만 libzbar-64.dll도 잘 들어있습니다.
- 오류 -
Traceback (most recent call last):
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\zbar_library.py", line 58, in load
dependencies, libzbar = load_objects(Path(''))
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\zbar_library.py", line 50, in load_objects
deps = [
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\zbar_library.py", line 51, in <listcomp>
cdll.LoadLibrary(str(directory.joinpath(dep)))
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'libiconv.dll' (or one of its dependencies). Try using the full path with constructor syntax.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\한이음\QR\aws rds와 바코드인식 연동.py", line 3, in <module>
from pyzbar import pyzbar
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\pyzbar.py", line 7, in <module>
from .wrapper import (
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\wrapper.py", line 139, in <module>
zbar_version = zbar_function(
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\wrapper.py", line 136, in zbar_function
return prototype((fname, load_libzbar()))
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\wrapper.py", line 115, in load_libzbar
libzbar, dependencies = zbar_library.load()
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\zbar_library.py", line 60, in load
dependencies, libzbar = load_objects(Path(__file__).parent)
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\zbar_library.py", line 54, in load_objects
libzbar = cdll.LoadLibrary(str(directory.joinpath(fname)))
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\Users\fjdks\AppData\Local\Programs\Python\Python39\lib\site-packages\pyzbar\libzbar-64.dll' (or one of its dependencies). Try using the full path with constructor syntax.
집에있는 오래된 PC에서는 문제없이 실행되는데 새로운 노트북에서만 자꾸 실행이 되지 않았습니다. PC의 파이썬 자체를 가져와서 노트북에서 실행하는 것도 실패했습니다. 그러던 도중 해결 방법을 찾았습니다.
해결 방법
Download Visual Studio 2013용 Visual C++ 재배포 가능 패키지 from Official Microsoft Download Center
Visual C++을 다운로드 받으시면 됩니다. 저는 2013버전을 받고 해결되었고 2019 버전은 효과가 없었습니다. 2015-2019 라고 써있던 버전인데도 안됐으니까.. 2013을 다운받는걸 추천드립니다.
오래된 PC에서는 여러버전의 C++이 설치되어 있었는데 새로 산 노트북은 2013을 설치하기 전에 C++ 프로그램이 전혀 없었습니다. pyzbar도 C++을 사용하네요....
'언어 > Python' 카테고리의 다른 글
파이썬 함수 (0) | 2021.07.16 |
---|---|
파이썬 조건문과 반복문 (0) | 2021.07.09 |
파이썬 리스트와 딕셔너리 (0) | 2021.07.07 |
파이썬 문자열 다루기 (0) | 2021.07.06 |
파이썬 변수 선언과 자료형 (0) | 2021.07.02 |