linuxpython安装hive_Linux离线环境安装Pyhive包及通用方式
一、Linux离线安装GCC编译环境
安装之前要查看离线环境的Linux版本,因为下载文档需要Linux的版本对应
1 uname -a显示全部信息
显示版本号,该机版本为centos 6.6,属于6系的Linux系统
1、手动对RPM包进行安装(方法1)
RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写,其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
下载GCC所有需要的依赖包,逐个安装,从第三方开源软件管理库可以下载到:
根据安装顺序下载所需的包,并且按照顺序进行安装。
1 Rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm #ppl(libppl.so.7、libppl_c.so.2)2 rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm #cloog-ppl3 rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm #libmpcfr.so.1
4 rpm -ivh cpp-4.4.7-17.el6.x86_64.rpm #cpp
5 rpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpm #kernel-headers6 rpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpm #glibc-headers7 rpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm #glibc-devel8 rpm -ivhlibgomp-4.4.7-17.el6.x86_64.rpm #libgomp(libgomp、libgomp.so.1)9 rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm #gcc
至此安装成功,用gcc -v命令可以检验,如果版本号提示正确,那么安装成功。
2、挂载光盘镜像进行安装(方法2)
将centos的镜像进行挂载,不过需要centos的yum方法支持,此种方法不需要考虑包和动态库之间的依赖,yum包管理器会自动分析本机的依赖。(依赖是一个难度不大,但是非常琐碎的事情)
1 #设置光驱挂载点2 mkdir -p /Application/cdrom3 #挂载光驱4 mount /dev/cdrom /Application/cdrom 这个是挂载后文件地址,你也可以自己选着路径5 #备份原yum源6 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak7 #把光驱设为yum源8 echo "[base]" > /etc/yum.repos.d/CentOS-Base.repo9 echo "name=CentOS-$releasever - Base" >> /etc/yum.repos.d/CentOS-Base.repo10 echo "baseurl=file:///Application/cdrom/" >> /etc/yum.repos.d/CentOS-Base.repo11 echo "gpgcheck=0" >> /etc/yum.repos.d/CentOS-Base.repo12 #安装GCC13 yum install gcc -y14 #恢复原yum源15 cp –f /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
至此安装成功,用gcc -v命令可以检验,如果版本号提示正确,那么安装成功。
3、离线更新或者替换GCC版本
编译GCC源码进行安装,必须已经安装了可用的GCC,主要用于更新GCC版本
否则就要根据rpm二进制包进行GCC安装,但是要解决的lib包依赖问题非常复杂:
4、问题:
根目录下的/lib64缺少libc-2.12.so文件解决方案,预加载库然后解决动态连接问题
如果你是在root用户下进行的操作,那么你是幸运的,毕竟/lib(lib64)下的属组属主都是root,所以尽管libc.so.6丢失,mv、cp、ln等命令都还是可以正常使用的,普通用户误操作libc.so.6的解决办法如下,只能通过系统急救盘来进行
二、安装Pyhive包
Pyhive依赖:sasl,thrift,thrift-sasl, PyHive
1、安装Pyhive依赖-sasl
第一种方法:
通过GCC编译python源文件进行安装,python源代码官方地址:https://pypi.org/
很多python的包是有编译好的文件,但是sasl包并没有,必须根据具体环境进行编译
GCC安装好以后,进入sasl源码包,用python setup.py install指令安装sasl源码包文件。
第二种方法:
通过conda/pip进行离线安装sasl包,在本地通过conda配置好相同的环境版本,通过本文中介绍的离线安装方法安装sasl包
问题:
在源代码编译的过程中,可能会出现sasl.h头文件丢失问题,原因是sasl的源码已经许久没有维护了,代码结构与现有的代码结构不一样,采用新版工具包,安装cyrus-sasl包解决,官方地址为国外地址,并不可用,所以用第三方地址,下载并且按照官网提示的安装方法进行编译安装即可,源码见官网地址:
按照官方网站的编译流程安装完该组件以后,就可以进行Pyhive的安装了
如果还存在sasl.h头文件问题,可以通过pip离线安装libsasl2-dev包
可以参考以下文档:
2、安装thrift、thrift-sasl
采用pip/conda下载离线安装包的方式,将离线安装包传到离线环境,通过pip/conda命令进行安装,直接通过二进制文件进行安装可以解决离线环境编译缺少各种开发用的库等问题,本身生产环境不适合做开发环境
3、安装Pyhive包
采用pip/conda方式安装pyhive包
然后按照教程里面的代码进行测试即可,教程地址如下:
4、了解hive的配置及工作机制
Hive相当于hdfs分布式系统,只是一个不同于普通的sql的查询工具hql,指令都是一样的,所以采用hive查询数据库,在python里面只需要进行操作就行了,需要有数据库地址
二、离线安装包的几种方式
python包离线安装的几种方法(经过摸索,推荐用这个方法解决离线环境的依赖问题)
尽量少的采用源码编译的形式进行安装,非常容易出问题,因为生产环境和开发环境不一样,库的差异性非常大,所以编译起来问题比较多,建议在本地采用同样的配置(一般采用conda进行管理即可)将源码包进行编译,生成二进制文件,再上传到服务器进行安装:
1、通过pip安装
通过pip进行离线安装,此方法可以直接分析依赖下载wheel,比较方便,需要本地环境与服务器环境相同
第一种方法:
通过批量安装依赖,首先,在项目中分析出所有依赖的库
1 pip freeze >requirements.txt2 将所有包下载到DIR这个目录中3 pip download -d DIR -r requirements.txt4 pip wheel -w DIR -r requirements.txt
问题:
切记,不要在 windows 下载包,然后放到 Linux 上进行安装,这样八成装不上
1、 这两条命令的区别在于wheel 方式下载会将下载的包放入wheel 缓存,但缺点是wheel 不可以下载源码包
2、 download 命令会查看wheel缓存,然后再去PyPI下载库,但download命令下载的包不会进入wheel缓存,download 的优点是可以下载源码包
3、 需要注意,使用wheel 方式安装可能会报错,因为有些包是源码包,不能被打包成wheel 格式
4、 download 方法下载的包,不会对依赖性进行检查,这意味着,如果下载 Flask-PyMongo 这个包,只会下载该包,而不会下载 pymongo,经试验发现,download 适合补充wheel不可下载的包,两者搭配使用,才能将requirements文件的库完整的下载。
将下载的wheel文件和requirement.txt文件放到离线环境中用教程中的命令进行安装
pip install --no-index --find-links=DIR -r requirements.txt
到此包就安装好了。
第二种方法:
如果在批量安装过程中,发现离线环境某些包缺少依赖,是因为在到处本地requirements.txt的时候只是导出了新装的依赖名称,可能最基本的依赖两个环境不一样,这时候就要单个依赖进行下载,然后到离线环境进行安装,单个文件的下载安装方式跟批量下载一样。
先根据包名称下载
1 pip wheel -w DIR pandas(包名称)
然后通过pip指令安装
1 pip install path/pandas(下载包的位置)
到此单个pip包就安装完了
2、通过conda安装
通过conda安装的方法与pip进行安装的方法比较类似,conda安装包的时候都会将包下载到缓存,默认的缓存地址是anaconda/pkgs/下面的tar.bz2格式的包
首先要在本地安装好所需的包,所需的包自动会存在缓存位置
然后到缓存位置找到所需的包,将需要的依赖包拷贝转移到离线环境中,随便放在哪个位置都行,最好是拷贝到离线环境的相同conda的缓存位置
再运行:conda install --use-local path/file.gz(如果将包放在了相同位置,直接conda install XX就行,因为conda install 命令最默认搜索缓存位置,并分析依赖进行安装,此种方式比较高效)
其中path为放包的地方,最好放到conda默认的目录里面,因为conda即使在线安装依赖也是会先去搜寻离线缓存,然后才会去在线查找
安装完成以后去调用就可以了。
linuxpython安装hive_Linux离线环境安装Pyhive包及通用方式相关推荐
- Centos/Linux在线环境下载安装包,到离线环境安装,并解决依赖问题
在线环境下载rpm包 我们以yum-utils包为例,在线环境使用下面的代码安装: sudo yum install -y yum_utils 离线环境需要的是安装包,因此下载yum-utils的安装 ...
- 离线环境安装python第三方库
离线环境安装python第三方库 0. 概述 这个方法是使用pip换本地源下载依赖库的方式执行的,分为以下几个步骤 1. 安装/更新pip到最新版本. 2. 在联网环境下载依赖库的包和建立requir ...
- docker 离线安装 mysql_Oracle数据库之docker 离线环境安装oracle
本文主要向大家介绍了Oracle数据库之docker 离线环境安装oracle,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 因测试需要,需在内网的测试环境搭建一套docker ...
- python如何离线安装第三方库_离线环境安装python第三方库
python 离线环境安装python第三方库 author: yafeishi tags: AntDB,python python对于运维工作确实方便了很多,但很多比较实用的库都是第三方提供,在os ...
- Opencv学习笔记——opencv配置安装与IDE环境安装
文章目录 前言 一.opencv配置安装 二.IDE的安装 总结 前言 既然开始对AI视觉这个方面有兴趣,也初步接触了一些AI视觉在嵌入式方面的应用,那自然少不了对Opencv的学习.到现在开始学习o ...
- 1.1.Perl环境安装-Windows下环境安装
Perl环境安装-Windows下环境安装 B站视频教程: 菜鸟学生信 一.Perl软件下载安装 下载:https://strawberryperl.com/releases.html 安装:解压即可 ...
- python调用第三方库需要联网吗_离线环境安装python第三方库
0. 概述 这个方法是使用pip换本地源下载依赖库的方式执行的,分为以下几个步骤 1. 安装/更新pip到最新版本. 2. 在联网环境下载依赖库的包和建立requirement.txt. 3. 将上一 ...
- Centos离线环境安装pip
问题描述: 项目所用服务器环境为Centos,Python版本为2.7.5.按照博客中的方法安装pip,成功安装8.1.2版本pip.但是,该版本pip无法安装numpy等模块,提示通过"p ...
- python3.6.0怎么安装pip_python3.6环境安装+pip环境配置教程图文详解
1.python安装可以跨平台 2.有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下载32位所以我们 ...
最新文章
- html div套div,Web前端开发技术之Div+Css基础
- 算法--------俄罗斯套娃信封问题(Java版本)
- Matlab周期图法使用FFT实现
- python扩展库安装
- 上海交通大学乐经良高数手写笔记-多元微积分
- 新搭建mysql容易出现问题
- 内存首地址为1000h_C++虚继承,菱形继承,内存分布
- c++冒泡排序代码_数据结构和算法必知必会的50个代码实现
- jQuery选择器大全(48个代码片段+21幅图演示)
- 推荐曹济的FPA培训课程
- R语言安装ccgarch_R语言基于ARMA-GARCH过程的VaR拟合和预测
- ACL'22 | 关系抽取和NER等论文分类整理
- mac PHP 环境搭建
- linux所有内存监控,流量监控?负载监控?内存监控?IO监控?check_linux_stats全部替你搞定!...
- 项目中初试PHP单元测试
- 凸优化第二章凸集 2.1仿射集合和凸集
- html短竖线符号,word竖线符号
- C++ stringstream 从字符串中分离单词
- 初中不读学计算机难吗,为什么初中生更加适合学习计算机编程?
- 平面三角形与三角函数(1):角的度量与换算、三角函数的定义、图形与特征