错误在Windows上导入Impyla库

我在windows上使用impyla库时遇到了麻烦

我安装了impyla库

pip install impyla

当我试图在Python代码中导入impyla库文件时发生错误

 from impala.dbapi import connect # error occured from impala.util import as_pandas conn = connect(host='10.xx.xx.xx', database='xx_xx', port=21050)` 

回溯(最近的最后一次通话):…

文件“D:/test/test.py”,第14行, 从impala.dbapi导入连接

文件“C:\ Anaconda3 \ lib \ site-packages \ impala \ dbapi.py”,第28行,在导入impala.hiveserver2中为hs2

文件“C:\ Anaconda3 \ lib \ site-packages \ impala \ hiveserver2.py”,第32行, 来自impala._thrift_api import

文件“C:\ Anaconda3 \ lib \ site-packages \ impala_thrift_api.py”,第73行,在include_dirs = [thrift_dir]中)

文件“C:\ Anaconda3 \ lib \ site-packages \ thriftpy \ parser__init __。py”,第30行,载入include_dir = include_dir)

文件“C:\ Anaconda3 \ lib \ site-packages \ thriftpy \ parser \ parser.py”,第496行,parsingurl_scheme))

thriftpy.parser.exc.ThriftParserError:ThriftPy不支持在协议“c”中使用path生成模块,

当我试图打印include_dir,这是

D:/test\thrift

我根本无法导入libray

帮我

我有同样的问题,节俭,在Windows上的问题是绝对路径是像C:\ foo \ bar.thrift

但是,thrift库解析文件的方式,它会检测到C:就好像它是一个像http:https:

它很容易解决你只需要从路径中删除前两个字符像路径[2:]

当您调用thriftpy.load或库文件时,只需分片

 File "C:\Anaconda3\lib\site-packages\thriftpy\parser__init__.py", line 30 path = "C:\foo\bar.thrift" thrift.load(path[2:], module_name, include_dirs=include_dirs, include_dir=include_dir) 

要么

你可以做更深一层的修改,我已经在github页面上提交了一个修补程序,也许它会被整合到下一个版本的节俭中。

 File "C:\Anaconda3\lib\site-packages\thriftpy\parser\parser.py", line 488 - if url_scheme == '': + if len(url_scheme) <= 1: 

我为什么这个改变是有效的理由是在拉的请求。 如果它被合并,那么当您更新库时,您不必担心再次进行相同的更改。 如果没有,那么再去掉两个字符。

在Windows上的Anaconda Python 3.6发行版中遇到与impyla相同的错误。 而不是安装使用点,我能够得到它的工作使用:

 conda install -c anaconda impyla 

https://anaconda.org/anaconda/impyla