记录win10下python3.7安装pyhive遇到的问题以及安装impyla

一、在windows系统下安装pyhive遇到的问题和解决方法

windous下安装pyhive真的是非常曲折,找到了三种方法说是能解决windows下安装遇到得问题。但是使用这三种方法都没有解决这个问题
1.用canda直接安装pyhive
2.用pip安装依赖之后安装pyhive
3.改用anocanda的2019-03的版本
安装impyla

1.可以用canda进行安装,自动安装依赖(但是也会遇到sasl缺失得问题)

conda install PyHive

在这里插入图片描述
验证是否可用:

from pyhive import hive

在这里插入图片描述
运行后还是报错sasl:
在这里插入图片描述
那么安装sasl:
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 找到适合自己的版本 cp27 代表python2.7, cp37代表python3.7 以此类推. 我的是python3.7所以找到下面这个版本下载下来到电脑里. 再用pip安装.

pip install D:develope\Anaconda3\sasl-0.2.1-cp35-cp35m-win_amd64.whl

再运行继续报错:
在这里插入图片描述

message=("Could not start SASL: %s" % self.sasl.getError()))
thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'

加上 auth="NOSASL"这个参数
在这里插入图片描述
还是不行:
在这里插入图片描述

2.用pip方式进行安装

用pip方式进行安装:

pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive
安装对应版本:
pip install 包名==版本号

看到大哥的版本号:
sasl 0.2.1
thrift 0.13.0
thrift-sasl 0.3.0
PyHive 0.6.1
想到更换anocanda版本并且安装对应的包版本

结果最后使用都会遇到sasl安装的问题
又导致了一个新得问题:

‘pip’ 不是内部或外部命令,也不是可运行的程序
或者 python不是内部命令

解决方案:
将anocanda添加环境变量
此电脑- >属性- >高级系统设置- >高级- >环境变量- >path- >编辑- >新建(anocanda目录下的Scripts目录添加到环境变量中)
在这里插入图片描述
装好之后:
在这里插入图片描述
而后继续安装sasl,遇到下面问题:

Could not fetch URL https://pypi.org/simple/pip/: There was a problem … -skipping

解决办法:

  1. 在用户目录下,也就是进入cmd时显示的路径下

  2. 在windous进入此目录下创建pip文件夹,并且在pip文件夹下创建pip.ini文件
    在这里插入图片描述

  3. pip.ini加入以下内容

[global]

index-url=http://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host=mirrors.aliyun.com

  1. 添加到环境变量
    在这里插入图片描述
    问题解决:
    在这里插入图片描述
    运行后报错:
message=("Could not start SASL: %s" % self.sasl.getError()))
thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'

3.改用anocanda3的版本

受更换anocanda版本思想所致,试用了anocanda3的2019-03~2020-07的每一个版本
使用这个版本依然没有用,还会遇到sasl的安装问题,按照上面sasl安装问题进行解决
但是最后还是遇到问题:

message=("Could not start SASL: %s" % self.sasl.getError()))
thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'

查了都说时sasl对于windows不是很友好,只有hive是不设限制的时候可以。也就是NOSASL

二、win10下python3.7安装impyla

机缘巧合之下完成安装。。。。。。。。。。。。。。。。。。。

找了好久找到大哥得资料自己安装成功,要哭了

环境准备:

win10
Anaconda3-5.2.0-Windows-x86_64.exe

安装这个版本的可以有百度云:
链接:https://pan.baidu.com/s/1k0X2pMPergxIn1ZnUDe06g
码:0mtp
或者清华镜像:镜像地址

安装anocanda,配置环境。

根据大佬的顺序安装

大佬博客

中间有一些不同,和大佬的截图不一致,但是impyla安装好了,没有报错
出现成功标志就好了。

链接hive

语句如下:
在这里插入图片描述
执行后报错如下:
在这里插入图片描述
既然缺少包就安装:

pip install thriftpy

在这里插入图片描述
不用管红色,只要成功就好
继续执行遇到下面问题(截图大佬博客):
在这里插入图片描述
根据步骤解决就好。

最终运行后成功:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值