강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

주노님의 프로필 이미지
주노

작성한 질문수

파이썬으로 뭘 만들지? 남박사의 파이썬 알쓸파잡

Flask 를 활용하여 웹 QR코드 생성기 만들기

web_qrmaker.py

작성

·

382

1

png_as_base64_str()은 파이썬의 3.10에서는 안되나요?

생성버튼을 누르면

No module named 'png'라는 메시지가 뜨네요.

찾아보니까 png_as_base64_str()은 deprecate되었다라고 하네요.

퀴즈

QR 코드의 오류 수정 레벨(L, M, Q, H)이 가지는 주요 목적은 무엇일까요?

QR 코드의 데이터 저장 용량을 늘리기 위함이다.

QR 코드의 물리적인 크기를 결정하기 위함이다.

QR 코드가 손상되어도 데이터를 복구할 수 있도록 돕기 위함이다.

QR 코드 인코딩 방식을 지정하기 위함이다.

답변 3

0

주노님의 프로필 이미지
주노
질문자

알겠습니다. 이것 저것 다 해보겠습니다. 감사합니다

남박사님의 프로필 이미지
남박사
지식공유자

현재 사용은 가능하니 그냥 쓰셔도 되고 함수를 변경하면 위에서 처럼 replace() 를 통해 변경해서 사용하시면 될 듯 합니다. 더 궁금하신 사항은 언제든 질문 주시기 바랍니다.

0

남박사님의 프로필 이미지
남박사
지식공유자

png_as_base64_str()가 deprecate 되었다고 하시는 거보니

pyqrcode 라이브러리가 아닌 pyqrcodeng 라이브러리를 사용하고 계신가 아닌가 생각됩니다.

그림에서 처럼 현재 python 3.10.2 버전 pyqrcode 던 pyqrcodeng 던 둘다 사용하는데 문제는 없어 보입니다. 

문서상에는 deprecate 되었다고 하나 현재 버전에서 사용은 잘 되고 있습니다만 강좌에서는 pyqrcode로 작성되었기 때문에 라이브러리 차이에 따른 다른 문제가 발생하는 부분에 대해서 모두 확인할수는 없을듯 합니다.

문서상 png_as_base64_str() 함수는 png_data_uri() 함수로 대체 된다고 하니 [pyqrcodeng 공식문서] 를 참고 해보시는것도 좋을듯 합니다. 위 그림의 선택영역을 보면 png_data_uri() 함수는 "data: image/png;base64," 를 포함해서 리턴해주므로 강좌의 코드에서 이 부분을 맞게 수정해야 할 것으로 보입니다. 아니면 강좌처럼 똑같이 나오게 하려면 

b = qrcode.png_data_uri(scale=5).replace("data:image/png;base64,", "")

이런식으로 replace 해서 문자열을 없애버리는 방법도 있을것 같습니다.

 

더 궁금하신 사항이 있으시면 새로운 질문을 남겨주시면 감사하겠습니다. 그래야 저한테 알림이 오거든요 ㅎㅎ

 

0

남박사님의 프로필 이미지
남박사
지식공유자

"파이썬에서 QR 코드 생성해보기" 강의에서 말씀드린 내용인데 놓치셨나 봅니다.

pyqrcode 에서 png 관련 기능을 사용하기 위해선 pypng 라이브러리가 설치 되어있어야 합니다. 

 

pip install pypng

 

로 설치하시면 됩니다.

주노님의 프로필 이미지
주노

작성한 질문수

질문하기