프로그래밍/파이썬 공부

If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.

이자다 2024. 2. 1. 06:16
반응형
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

 

파일 실행 중에 이러한 오류를 받게 되었다.

 

번역기를 돌려보자면 아래와 같다.

 

이 호출이 _pb2.py 파일에서 발생한 경우 생성된 코드는 오래된 것이므로 protoc >= 3.19.0을 사용하여 다시 생성해야 합니다.
proto를 즉시 재생성할 수 없는 경우 가능한 다른 해결 방법은 다음과 같습니다.
  1. protobuf 패키지를 3.20.x 이하로 다운그레이드합니다.
  2. PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python을 설정합니다(그러나 이는 순수 Python 구문 분석을 사용하므로 훨씬 느려집니다).

추가 정보: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

 

참고 사이트를 가보니 4.20.1 버전과 3.20.1 버전의 protobuf 패키지가 많이 상이한 것 같다.

 

해결 방법은 간단했다.

 

pip3 uninstall protobuf
pip3 install protobuf==3.20.0

 

기존 패키지를 삭제하고 알맞은 버전으로 재설치를 하면 된다.

반응형