[Python]protobuf build 명령어

변도진·2024년 6월 13일
0

Python

목록 보기
8/14
post-thumbnail

서론

python에서 gRPC를 사용하기 위해선 protobuf파일을 python파일로 buiild해야한다.
하지만 build명령어가 너무 길고 사용이 어려워 글을 작성하게 되었다.

grpcio-tools

protobuf file을 build하기 위해서는 grpcio-tools가 필요하다.

pip install grpcio-tools

protobuf build

python -m grpc_tools.protoc {proto_path}

다음 명령어를 통하여 build 할 수 있다.
하지만 option을 잘 사용하여야 원하는 위치에 원하는 파일을 불러올 수 있다.

  • -I{path} : proto file import 경로이다.
    여러 경로를 설정 할 수 있으며, proto file내에서 이 경로로 다른 proto file을 import해야한다.
    하지만 pb2_grpc.py가 생성될 때 proto file의 import경로의 맞추어 생성되니
    '-I.'으로 설정하고 proto file을 작성할 때 import경로를 절대경로로 맞추어야 pb2_grpc.py에서 절대경로를 사용하여 import한다.
  • --python_out={pb2_path} : pb2.py를 생성하는 경로를 설정한다.
    proto_path를 기준으로 생성되나 '--python_out=.'으로 설정하여 proto file옆에 생성하는 것이 맘편하다.
    pb2.py는 protobuf의 python객체들이 선언되어 있다.
  • --grpc_python_out={pb2_path} : pb2_grpc.py를 생성하는 경로를 설정한다.
    proto_path를 기준으로 생성되나 '--grpc_python_out=.'으로 설정하여 proto file옆에 생성하는 것이 맘편하다.
    pb2_grpc.py는 gRPC stup과 service들이 선언되어 있다.

첨언

딸깍으로 protobuf를 build할 수 있는 builder를 만들 계획이다.

profile
낚시하고 싶다.

0개의 댓글