我在windows上使用impyla库有困难
我安装了impyla库
pip install impyla
当我试图在python代码中导入impyla libary时出错。
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导入( ) 文件"C:\Anaconda3\lib\site-packages\impala_thrift_api.py",第73行,在include_dirs=thrift_dir)中 文件"C:\Anaconda3\lib\site-packages\thriftpy\parser__init__.py",行30,在load include_dir=include_dir)中 文件"C:\Anaconda3\lib\site-packages\thriftpy\parser\parser.py",第496行,在解析url_scheme中)) thriftpy.parser.exc.ThriftParserError: ThriftPy不支持在协议'c'中使用路径生成模块
当我试图打印include_dir时,
D:/test\thrift
我根本不能进口libray
帮帮我
发布于 2016-09-02 11:40:42
我也遇到了同样的问题,windows上的问题是绝对路径,类似于C:\foo\bar.thrift。
但是,节俭库解析文件的方式是,它检测C:,就好像它是一个类似http:或https:的协议。
很容易解决,您只需用path2:这样的切片从路径中删除前两个字符即可。
只需在调用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:我对此更改为何有效的理由是在“拉”请求中。如果它被合并了,那么在更新库时,您将不必担心再次进行相同的更改。如果不是的话,那就把这两个字符再脱一次。
更新:
elif len(url_scheme) <= 1:上发布于 2017-09-26 16:13:55
在WindowsAnacondaPython3.6发行版上,我在Anaconda Python3.6发行版上遇到了与impyla相同的错误。我没有使用pip安装,而是能够使用以下方法使其工作:
conda install -c anaconda impylahttps://stackoverflow.com/questions/39220102
复制相似问题