• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

web_qrmaker.py

22.01.24 17:19 작성 조회수 166

1

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

생성버튼을 누르면

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

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

답변 3

·

답변을 작성해보세요.

0

박준호님의 프로필

박준호

질문자

2022.01.24

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

현재 사용은 가능하니 그냥 쓰셔도 되고 함수를 변경하면 위에서 처럼 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

 

로 설치하시면 됩니다.