首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows环境下错误导入Impyla库

Windows环境下错误导入Impyla库
EN

Stack Overflow用户
提问于 2016-08-30 06:18:56
回答 2查看 6K关注 0票数 1

我在windows上使用impyla库有困难

我安装了impyla库

pip install impyla

当我试图在python代码中导入impyla libary时出错。

代码语言:javascript
复制
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

帮帮我

EN

回答 2

Stack Overflow用户

发布于 2016-09-02 11:40:42

我也遇到了同样的问题,windows上的问题是绝对路径,类似于C:\foo\bar.thrift

但是,节俭库解析文件的方式是,它检测C:,就好像它是一个类似http:https:的协议。

很容易解决,您只需用path2:这样的切片从路径中删除前两个字符即可。

只需在调用thriftpy.load或库文件时切片即可

代码语言:javascript
复制
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页面上已经提交的修补程序相同的更改.也许它将被纳入下一个版本的节俭。

代码语言:javascript
复制
File "C:\Anaconda3\lib\site-packages\thriftpy\parser\parser.py", line 488

-    if url_scheme == '':
+    if len(url_scheme) <= 1:

我对此更改为何有效的理由是在“拉”请求中。如果它被合并了,那么在更新库时,您将不必担心再次进行相同的更改。如果不是的话,那就把这两个字符再脱一次。

更新:

  • Thriftpy版本1:解析器修复现在在第547行:elif len(url_scheme) <= 1:
  • Thriftpy版本2:修复程序已经合并。
票数 8
EN

Stack Overflow用户

发布于 2017-09-26 16:13:55

在WindowsAnacondaPython3.6发行版上,我在Anaconda Python3.6发行版上遇到了与impyla相同的错误。我没有使用pip安装,而是能够使用以下方法使其工作:

代码语言:javascript
复制
conda install -c anaconda impyla

https://anaconda.org/anaconda/impyla

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39220102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档