gRPC 实在是太蛋疼了,放在 Java 这种朴素的静态语言里这个用法一点问题都没有,但是放在 Python 这种自由度很高的动态语言里简直……
看过我之前一个帖子的应该知道,我之前写了一个 https://github.com/abersheeran/rpc.py 可以支持直接把同步函数、异步函数、同步生成器函数、异步生成器函数直接生成 API 。
但是生态很重要(主要是自家要用其它语言,我实在没精力写各个语言的服务端和客户端),还是得兼容 gRPC 的 proto 写法。我的想法是,Python 函数定义好(需要包含全量且不带 Any 的 type annotations 的)就可以自动生成 proto 文件以供下载,还可以使用 protocol buffer 协议去序列化。当然 http headers 也得兼容。同时也支持反向从 proto 文件生成 Python 代码。
一番搜索之下感觉好像没有单独使用 pb 的 Python 方法,似乎只能自己编译 C++ 库?于是来问问各位。
1
yunyuyuan 2021-03-15 15:47:34 +08:00
所以你的需求到底是什么呢,或者说你想用 pb 文件干什么?
|
2
FucUrFrd 2021-03-15 15:52:58 +08:00
楼主, 你中文表意不清
但是, 我认为, python 单独使用 pb, 在大公司比比皆是, 只需要官方 protoc 生成 py 文件即可, 从入门到精通, 本科学历最多 2 天 |
3
abersheeran OP 不好意思可能我没表达清,刚开会去了。
我想要的是单独从 pb 文件生成 Python model 且能从 Python model 生成 pb 文件的库。 |
4
abersheeran OP |
5
abersheeran OP 序列化和反序列化功能肯定还是要包含在生成的 Python model 里的。
|
6
MoYi123 2021-03-15 16:30:54 +08:00
protoc xx.proto --python_out=./ 不就行了?
|
7
DM1 2021-03-15 16:48:05 +08:00
|
8
abersheeran OP @DM1 对对对,感谢。
|