标签:__ pb2 GRPC server python Python pip 搭建 grpc
- Python 安装, 下载后直接安装
2. Pip 安装
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本
$ sudo python get-pip.py # 运行安装脚本
3. grpc安装
gRPC 的安装:
$ pip install grpcio
安装 ProtoBuf 相关的 python 依赖库:
$ pip install protobuf
安装 python grpc 的 protobuf 编译工具:
$ pip install grpcio-tools
4. grpc简单使用
(1) proto 文件
(2) 生成grpc和protobuf的python文件
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. ./person.proto
(3) 客户端
# -*- coding: utf-8 -*-
import grpc
import person_pb2_grpc
import person_pb2
def run():
conn = grpc.insecure_channel('localhost:1020')
client = person_pb2_grpc.GreeterStub(channel=conn)
response = client.SayHello(person_pb2.HelloRequest(name="Python"))
print("received : ", response.message)
if __name__ == '__main__':
run()
(4) 服务器端
fromconcurrentimportfutures
importtime
importgrpc
importperson_pb2
importperson_pb2_grpc
#实现proto文件中定义的GreeterServicer
classGreeter(person_pb2_grpc.GreeterServicer):
#实现proto文件中定义的rpc调用
defSayHello(self,request,context):
returnperson_pb2.HelloReply(message='hello{msg}'.format(msg=request.name))
defserve():
server=grpc.server(futures.ThreadPoolExecutor(max_workers=10))
person_pb2_grpc.add_GreeterServicer_to_server(Greeter(),server)
server.add_insecure_port('[::]:1020')
server.start()
try:
whileTrue:
time.sleep(60*60*24)#onedayinseconds
exceptKeyboardInterrupt:
server.stop(0)
if__name__=='__main__':
serve()
参考:
pip安装 https://www.runoob.com/w3cnote/python-pip-install-usage.html
grpc安装 https://blog.csdn.net/circleyuanquan/article/details/82803814
grpc使用 https://www.jianshu.com/p/43fdfeb105ff
听我一言 发布了4 篇原创文章 · 获赞 0 · 访问量 72 私信 关注
标签:__,pb2,GRPC,server,python,Python,pip,搭建,grpc 来源: https://blog.csdn.net/halo_hsuh/article/details/104540656
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。