系统版本: 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. 【Spring Framework】Spring入门教程(四)注册Bean到IOC容器

    注册Bean到IOC容器大致分为4种: ①.包扫描+组件注解(@Controller.@Service.@Repository.@Component) 针对类是我们自己编写的情况 ②.@Bean注解 ...

  2. lucene的索引查询

    package com.hope.lucene;import org.apache.lucene.document.Document;import org.apache.lucene.document ...

  3. html之table的tr加间隔

    <table style="border-collapse:separate; border-spacing:0px 10px;"> <tr> <td ...

  4. Windows下80端口被占用的解决方法(SQL Server)

    查找80端口被谁占用的方法 进入命令提示行(WIN+R 输入 CMD),输入命令 netstat -ano|findstr 80 (显示包含:80的网络连接) ,就可以看到本机所有端口的使用情况,一般 ...

  5. 3、Spring的DI依赖注入

    一.DI介绍 1.DI介绍 依赖注入,应用程序运行依赖的资源由Spring为其提供,资源进入应用程序的方式称为注入. Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为&qu ...

  6. 车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践

    前言 车载以太网测试实践系列,我们还分享了PMA测试实践.IOP测试实践 .本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试). TCP/IP测试-设备环境组成 TTw ...

  7. PMP合同选择

    合同选择

  8. M函数目录(Power Query 之 M 语言)

    2021-12-11更新 主页(选项卡) 管理列(组) 选择列 选择列Table.SelectColumns 删除列 删除列Table.RemoveColumns 删除其他列Table.SelectC ...

  9. [COCI2018-2019#2] Sunčanje 题解

    link 考虑简洁的 \(\text{cdq}\) 做法. 约定:第 \(i\) 个矩形左下角为 \((xl_i,yl_i)\),右上角为 \((xr_i,yr_i)\),所有坐标都已离散化. 如果 ...

  10. SpringBoot整合nacos实现配置中心(配置动态更新)

    官方教程:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html Linux使用docker部署nacos:https://www.cnblo ...