初识python 之 离线搭建pyhive环境(含python3安装)
系统版本: centos6.5
python版本:python3.6.8
相关包存放目录:software
注意:以下操作需要用到root权限
安装python3 root操作
cd /lzh/software
tar -zxvf Python-3.6.8.tgz
cd /lzh/software/Python-3.6.8
./configure --prefix=/usr/local/
make
make install
make 报错: Fatal Python error: Py_Initialize: Unable to get the locale encoding
解决:
在make之前加上:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN.UTF-8
make
make install
配置python环境
cd /usr/bin
mv python python.backup
ln -s /usr/local/bin/python3.6 /usr/bin/python
安装pyhive包
cd /lzh/software/py
tar -zxvf PyHive-0.6.4.tar.gz
cd /lzh/software/py/PyHive-0.6.4
su root
python setup.py install
测试pyhive
vi test_hive.py
from pyhive import hive
print('hive测试')
conn = hive.Connection(host='xxxx',
port=10000,
auth="CUSTOM",
database='xxx',
username='xxx',
password='xxx')
cursor = conn.cursor()
cursor.execute('select * from tmp_811')
for result in cursor.fetchall():
print(result)
cursor.close()
conn.close()
运行test_hive.py
python test_hive.py
报错: ModuleNotFoundError: No module named 'thrift'
安装 thrift 包
cd /lzh/software/py
tar -zxvf thrift-0.10.0.tar.gz
cd cd /lzh/software/py/thrift-0.10.0
su root
./configure
make
make install
添加环境变量
vi ~/.bash_profile
export PYTHONPATH=/usr/lib/python3.6/site-packages
继续执行test_hive.py
python test_hive.py
报错:ModuleNotFoundError: No module named 'six'
安装 six
cd /lzh/software/py
tar -zxvf six-1.16.0.tar.gz
cd /lzh/software/py/six-1.16.0
su root
python setup.py install
继续执行test_hive.py
python test_hive.py
报错:ModuleNotFoundError: No module named 'past'
安装 future(包含 past)
cd /lzh/software/py
tar -zxvf future-0.18.2.tar.gz
cd /lzh/software/py/future-0.18.2
su root
python setup.py install
继续执行test_hive.py
python test_hive.py
报错:ModuleNotFoundError: No module named 'sasl'
安装 sasl
第一次安装的是0.1.3版本,与GCC版本不符,安装失败。
cd /lzh/software/py
tar -zxvf sasl-0.2.1.tar.gz
cd /lzh/software/py/sasl-0.2.1
su root
python setup.py install
继续执行test_hive.py
python test_hive.py
报错:ImportError: libsasl2.so.3: cannot open shared object file: No such file or directory
解决:
su root
ln -s /usr/lib64/libsasl2.so.2.0.23 /usr/lib64/libsasl2.so.3
继续执行test_hive.py
python test_hive.py
报错:ModuleNotFoundError: No module named 'thrift_sasl'
安装 thrift_sasl
cd /lzh/software/py
tar -zxvf thrift_sasl-0.4.3.tar.gz
cd /lzh/software/py/thrift_sasl-0.4.3
su root
python setup.py install
继续执行test_hive.py
python test_hive.py
OK,执行结果如下:

初识python 之 离线搭建pyhive环境(含python3安装)的更多相关文章
- Window上python 开发--1.搭建开发环境
事实上在开发python最好在ubuntu环境下,简单也便于扩展各个package.可是我的linux的电脑临时不在身边.还的我老婆的电脑win7没办法啊. 因为python的跨平台性.在window ...
- 二、Electron + Webpack + Vue 搭建开发环境及打包安装
目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack 搭建开发环境及打包安装 ------- 打包主进程 Electron + ...
- 一、Electron + Webpack + Vue 搭建开发环境及打包安装
目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack 搭建开发环境及打包安装 ------- 打包主进程 Electron + ...
- python Day 1 - 搭建开发环境
搭建开发环境 首先,确认系统安装的Python版本是2.7.x: $ python --version Python 2.7.5 然后,安装开发Web App需要的第三方库: 前端模板引擎jinja2 ...
- Flume1 初识Flume和虚拟机搭建Flume环境
前言: 工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...
- Centos 7 下yum搭建lnmp环境(yum安装方式)
我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...
- Mac环境下 Python3安装及配置
1.mac 环境下安装 python3 .查看 mac 自带系统版本 #查看系统自带的python open /System/Library/Frameworks/Python.framework/V ...
- 初识redis——mac下搭建redis环境
一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
- Python基础:搭建开发环境(1)
1.Python语言简介 2.Python环境 Python环境产品存在多个. 2.1 CPython CPython是Python官方提供的.一般情况下提到的Python就是指CPython,CPy ...
随机推荐
- 【Linux】【Services】【Package】Basic
Linux程序包管理 概述 API:Application Program Interface ABI:Application Binary Int ...
- Vue局部组件和全局组件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 银行业评分卡制作——IV、WOE
参考链接:https://blog.csdn.net/kevin7658/article/details/50780391 1.IV的用途 IV的全称是Information Value,中文意思是信 ...
- Tableau如何绘制双柱折线组合图2
一.数据源准备 二.创建计算字段月度-拖拽至列-右键-精确日期 CASE[指标] WHEN "同期"then DATETRUNC('day',[日期])-5 WHEN " ...
- Linux_ShellCode总结
在寄存器都是非理想值情况下(shellcode可根据环境具体触发时寄存器的值做长度调整),我本着最优通用的原则,整理了Linux下32位和64位最短通用shellcode的编写. 32位 有" ...
- [BUUCTF]REVERSE——[ACTF新生赛2020]easyre
[ACTF新生赛2020]easyre 附件 步骤 查壳,32位程序,upx壳儿 脱完壳儿,扔进ida 分析 一开始给我们定义了一个数组, v4=[42,70,39,34,78,44,34,40,73 ...
- 可视报表(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 原来一直有一个执念,做项目的人电脑上一定要安装Project软件,今天突然知道了,原来领导的电脑上,可以不装,因为,Pro ...
- java 多线程:线程死锁,如何判断程序是否有死锁代码块儿
线程死锁 死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去(百度百科). 代码示例: /** * @ClassName ...
- tcp十种状态;关于tcp中time_wait状态(2MSL问题)
tcp十种状态 注意: 当一端收到一个FIN,内核让read返回0来通知应用层另一端已经终止了向本端的数据传送 发送FIN通常是应用层对socket进行关闭的结果 关于tcp中time_wait状态的 ...
- springboot目录结构、重要配置文件、重要注解的详解
前面2篇博客已经带着大家搭建了springboot项目,并编写了持久化接口部署到tomcat下访问.这里我们一起补充下springboot的基本信息 一.springboot简单介绍 springbo ...