当前位置: 首页 > 工具软件 > ThriftPy > 使用案例 >

调用happybase时报错,ThriftPy does not support generating module with path in protocol 'd'

仲孙善
2023-12-01

今天在调用happybase时一直在报错

原因:happybase1.0在win下不支持绝对路径

具体原因:happybase要读取Python\Lib\site-packages\happybase\Hbase.thrift,但在Python\Lib\site-packages\thriftpy\parser\parser.py中的487行

# parser.py  line 487
url_scheme = urlparse(path).scheme
if url_scheme == '':
    with open(path) as fh:
        data = fh.read()
elif url_scheme in ('http', 'https'):
    data = urlopen(path).read()
else:
    raise ThriftParserError('ThriftPy does not support generating module '
                            'with path in protocol \'{}\''.format(
                                url_scheme))

改为

    url_scheme = urlparse(path).scheme
    #if url_scheme == '':
    if url_scheme in ('d', ''):
        with open(path) as fh:
            data = fh.read()
    elif url_scheme in ('http', 'https'):
        data = urlopen(path).read()
    else:
        raise ThriftParserError('ThriftPy does not support generating module '
                                'with path in protocol \'{}\''.format(
                                    url_scheme))

注:’d’为盘符,就是我把python装在了d盘,只要能让那个判断为真就行。

参考:https://github.com/eleme/thriftpy/issues/234

 类似资料: