系统版本: 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安装)的更多相关文章

  1. Window上python 开发--1.搭建开发环境

    事实上在开发python最好在ubuntu环境下,简单也便于扩展各个package.可是我的linux的电脑临时不在身边.还的我老婆的电脑win7没办法啊. 因为python的跨平台性.在window ...

  2. 二、Electron + Webpack + Vue 搭建开发环境及打包安装

    目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack  搭建开发环境及打包安装 ------- 打包主进程 Electron + ...

  3. 一、Electron + Webpack + Vue 搭建开发环境及打包安装

    目录 Webpack + Vue 搭建开发环境及打包安装 ------- 打包渲染进程 Electron + Webpack  搭建开发环境及打包安装 ------- 打包主进程 Electron + ...

  4. python Day 1 - 搭建开发环境

    搭建开发环境 首先,确认系统安装的Python版本是2.7.x: $ python --version Python 2.7.5 然后,安装开发Web App需要的第三方库: 前端模板引擎jinja2 ...

  5. Flume1 初识Flume和虚拟机搭建Flume环境

    前言:       工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...

  6. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  7. Mac环境下 Python3安装及配置

    1.mac 环境下安装 python3 .查看 mac 自带系统版本 #查看系统自带的python open /System/Library/Frameworks/Python.framework/V ...

  8. 初识redis——mac下搭建redis环境

    一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  9. Python基础:搭建开发环境(1)

    1.Python语言简介 2.Python环境 Python环境产品存在多个. 2.1 CPython CPython是Python官方提供的.一般情况下提到的Python就是指CPython,CPy ...

随机推荐

  1. 【Linux】【Services】【Package】Basic

    Linux程序包管理           概述         API:Application Program Interface         ABI:Application Binary Int ...

  2. Vue局部组件和全局组件

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. 银行业评分卡制作——IV、WOE

    参考链接:https://blog.csdn.net/kevin7658/article/details/50780391 1.IV的用途 IV的全称是Information Value,中文意思是信 ...

  4. Tableau如何绘制双柱折线组合图2

    一.数据源准备 二.创建计算字段月度-拖拽至列-右键-精确日期 CASE[指标] WHEN "同期"then DATETRUNC('day',[日期])-5 WHEN " ...

  5. Linux_ShellCode总结

    在寄存器都是非理想值情况下(shellcode可根据环境具体触发时寄存器的值做长度调整),我本着最优通用的原则,整理了Linux下32位和64位最短通用shellcode的编写. 32位 有" ...

  6. [BUUCTF]REVERSE——[ACTF新生赛2020]easyre

    [ACTF新生赛2020]easyre 附件 步骤 查壳,32位程序,upx壳儿 脱完壳儿,扔进ida 分析 一开始给我们定义了一个数组, v4=[42,70,39,34,78,44,34,40,73 ...

  7. 可视报表(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 原来一直有一个执念,做项目的人电脑上一定要安装Project软件,今天突然知道了,原来领导的电脑上,可以不装,因为,Pro ...

  8. java 多线程:线程死锁,如何判断程序是否有死锁代码块儿

    线程死锁 死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去(百度百科). 代码示例: /** * @ClassName ...

  9. tcp十种状态;关于tcp中time_wait状态(2MSL问题)

    tcp十种状态 注意: 当一端收到一个FIN,内核让read返回0来通知应用层另一端已经终止了向本端的数据传送 发送FIN通常是应用层对socket进行关闭的结果 关于tcp中time_wait状态的 ...

  10. springboot目录结构、重要配置文件、重要注解的详解

    前面2篇博客已经带着大家搭建了springboot项目,并编写了持久化接口部署到tomcat下访问.这里我们一起补充下springboot的基本信息 一.springboot简单介绍 springbo ...