HDP 2.6.4环境下Zeppelin-Spark2的Python库安装方法咨询
在HDP 2.6.4的Spark2环境下指定Python目录安装库的解决方案
针对你的HDP 2.6.4 + Spark 2.2.0.2.6.4.0-91 + Zeppelin绑定Python3.4.8的环境,我整理了两种可行方案来解决Python库安装的冲突问题,你可以根据实际需求选择:
环境信息确认
先明确你的当前环境关键信息:
- HDP版本:2.6.4
- Spark版本:
2.2.0.2.6.4.0-91 - Zeppelin Spark2解释器Python路径:
/usr/local/Python-3.4.8/bin/python3.4 - 当前Python3.4.8已装基础库:
pip==9.0.1,setuptools==28.8.0 - 核心问题:系统默认
pip指向Python2.6,且无独立的pip3命令
方案一:给现有Python3.4.8配置独立pip(快速解决)
这种方案不需要额外安装环境,直接给你指定的Python3.4.8绑定专属pip:
- 定位到Python3.4.8的bin目录,升级适配的pip版本(Python3.4仅支持pip<=19.1.1):
cd /usr/local/Python-3.4.8/bin ./python3.4 -m pip install --upgrade pip==19.1.1 - 使用该Python的专属pip安装库(需指定兼容Python3.4的版本):
比如安装pandas:/usr/local/Python-3.4.8/bin/pip install pandas==0.24.2注意:Python3.4已停止官方支持,大部分新库不再兼容,安装前需确认目标库有适配3.4的版本
- 在Zeppelin中验证安装:
创建%spark2.pyspark段落,执行:import pandas print(pandas.__version__)
方案二:安装Miniconda隔离环境(更推荐,避免版本冲突)
通过Miniconda创建独立的Python3.4环境,彻底和系统Python2.6隔离,后续管理库更方便:
- 下载适配Python3.4的旧版Miniconda(新版本不再支持3.4):
wget https://repo.anaconda.com/miniconda/Miniconda3-4.3.31-Linux-x86_64.sh - 安装Miniconda(选择自定义路径,不要覆盖系统默认Python):
bash Miniconda3-4.3.31-Linux-x86_64.sh- 按提示同意协议,指定安装路径(比如
/opt/miniconda3) - 最后选择
no,不要将conda加入系统默认shell配置(避免影响HDP组件)
- 按提示同意协议,指定安装路径(比如
- 创建并激活Python3.4的conda环境:
# 激活conda基础环境 source /opt/miniconda3/bin/activate # 创建名为spark_py34的专属环境 conda create -n spark_py34 python=3.4 -y # 激活该环境 source activate spark_py34 - 在conda环境中安装所需库:
# 用conda安装兼容库 conda install pandas=0.24.2 numpy=1.16.6 -y # 或用pip安装(此时pip已绑定当前环境的Python3.4) pip install requests==2.26.0 - 修改Zeppelin的Spark2解释器配置:
- 打开Zeppelin UI,进入Interpreter页面,找到
spark2解释器 - 将
zeppelin.pyspark.python的值修改为conda环境的Python路径:/opt/miniconda3/envs/spark_py34/bin/python - 保存配置并重启Spark2解释器
- 打开Zeppelin UI,进入Interpreter页面,找到
- 验证环境配置:
在Zeppelin的%spark2.pyspark段落执行:import sys import pandas print(sys.executable) # 应输出conda环境的Python路径 print(pandas.__version__)
注意事项
- 如果是集群环境,需要在所有Worker节点同步相同的Python环境(要么方案一的pip配置,要么方案二的Miniconda环境)
- 绝对不要修改系统默认的Python2.6,否则会导致HDP的依赖组件故障
- Python3.4的兼容库版本有限,安装前可确认目标库的支持版本
内容的提问来源于stack exchange,提问作者user9764822
相关产品推荐
相关产品推荐

