如何在 HDP 的 zeppelin-spark2 中将库安装到 python

How to install libraries to python in zeppelin-spark2 in HDP

我使用的是 HDP 版本:2.6.4

您能否提供有关如何将库安装到 spark2 下的以下 python 目录的分步说明?

sc.version(spark版)returns

res0: String = 2.2.0.2.6.4.0-91

spark2解释器名称和值如下

zeppelin.pyspark.python:    /usr/local/Python-3.4.8/bin/python3.4

python版本和当前库是

%spark2.pyspark

import pip
import sys

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

print("--")     
print (sys.version)
print("--")
print(installed_packages_list)

--
3.4.8 (default, May 30 2018, 11:05:04) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)]
--
['pip==9.0.1', 'setuptools==28.8.0']

更新一:using pip install [package name]实际上导致了两个问题

1) HDP 指向 python2.6 而不是 python3.4.8

2) 由于某种原因 pip3 不存在

因此,我正在考虑安装 miniconda 并将 Zeppelin 指向那里并安装 conda 中的所有软件包以防止 python 2.6 和 3.4.8

之间的冲突

您需要打开终端并输入 pip 并按 TAB 键。应列出沙箱上可用的 pip 版本。使用 pip3 安装你需要的包。这样做的方式保持不变 pip3 install "packageName"。这将使您希望在 Zeppelin 中使用的 Python3 安装程序包可用。

这对我们来说很痛苦。可行的解决方法是:

  1. 相应地使用 pippip3 从终端安装您需要的 python 包。
  2. 默认情况下,spark 解释器上的 zeppelin.pyspark.python 设置为:python。 python 无法识别我们使用终端安装的软件包。我们不得不更新 zeppelin.pyspark.python : /usr/bin/python (python 命令的路径,你可以使用命令 'which python' 获取它)

现在解释器和飞艇笔记本能够访问我们从终端安装的所有包。