python3.7安装thriftpy报错:
python3.6部署就没有问题
定义服务
calc.thrift
service CalcService {
i64 add(1:i64 a, 2:i64 b),
}
server_with_thriftpy.py
# coding=utf-8
import os
import logging
import thriftpy
from thriftpy.rpc import make_server
from thriftpy.protocol import TBinaryProtocolFactory
from thriftpy.transport import TBufferedTransportFactory
HERE = os.path.abspath(os.path.dirname(__file__))
logging.basicConfig()
calc_thrift = thriftpy.load(
os.path.join(HERE, 'calc.thrift'),
module_name='calc_thrift')
class Dispatcher(object):
def add(self, a, b):
return a + b
server = make_server(calc_thrift.CalcService,
Dispatcher(),
'127.0.0.1', 8300,
proto_factory=TBinaryProtocolFactory(),
trans_factory=TBufferedTransportFactory())
print('serving...')
server.serve()
client_with_thriftpy.py
# coding=utf-8
import os
import thriftpy
from thriftpy.rpc import client_context
from thriftpy.protocol import TBinaryProtocolFactory
from thriftpy.transport import TBufferedTransportFactory
HERE = os.path.abspath(os.path.dirname(__file__))
calc_thrift = thriftpy.load(
os.path.join(HERE, 'calc.thrift'),
module_name='calc_thrift')
with client_context(calc_thrift.CalcService,
'127.0.0.1', 8300,
proto_factory=TBinaryProtocolFactory(),
trans_factory=TBufferedTransportFactory(),
timeout=None) as calc:
rs = calc.add(1, 2)
print('Result is: {}'.format(rs))