首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不将Anaconda库添加到%PATH中,则Zeppelin %python.conda和%python.sql解释器无法工作。

如果不将Anaconda库添加到%PATH中,则Zeppelin %python.conda和%python.sql解释器无法工作。
EN

Stack Overflow用户
提问于 2017-11-09 09:51:33
回答 1查看 3K关注 0票数 4

我有以下情况:我想使用Anaconda3与齐柏林飞艇和星火。

我安装了以下组件:

  • HDP 2.5
  • Spark 2.0.0.x (随HDP 2.5提供的版本)
  • 齐柏林甙0.7.3
  • 使用Python3.5.4的Anaconda3 (Spark2.0.0和Python3.6中的PySpark不是朋友)
  • Python2.7附带了HDP 2.5,可以在/usr/bin中使用,这个路径被添加到$PATH中

基本上,我将Python解释器配置为指向我的anaconda版本,在我的例子中是/opt/anaconda 3/bin/python,这是可行的。我还用以下内容编辑了zeppelin.sh脚本:

代码语言:javascript
复制
export PYTHONPATH="${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.8.2.1-src.zip"
export SPARK_YARN_USER_ENV="PYTHONPATH=${PYTHONPATH}"
export PYSPARK_DRIVER_PYTHON="/var/opt/teradata/anaconda3/envs/py35/bin/ipython"
export PYSPARK_PYTHON="/var/opt/teradata/anaconda3/envs/py35/bin/python"
export PYLIB="/var/opt/teradata/anaconda3/envs/py35/lib"

在这里之前一切都很好。

当我尝试%python.conda%python.sql解释器时,它们失败了,因为没有找到conda命令,熊猫也没有。我将库位置添加到$PATH环境变量中,齐柏林飞艇能够找到这些命令,但副作用是,整个环境的默认Python版本变成了3.5,而不是2.7,我开始得到另一个很好的错误:

代码语言:javascript
复制
apache.zeppelin.interpreter.InterpreterException:   File "/usr/bin/hdp-select", line 205
    print "ERROR: Invalid package - " + name
                                    ^
SyntaxError: Missing parentheses in call to 'print'
ls: cannot access /usr/hdp//hadoop/lib: No such file or directory
Exception in thread "main" java.lang.IllegalStateException: hdp.version is not set while running Spark under HDP, please set through HDP_VERSION in spark-env.sh or add a java-opts file in conf with -Dhdp.version=xxx

当我切换回来并将Python3库从$PATH中删除时,它再次工作。

是否有任何最佳的方法来配置我的环境,以使一切正常工作,并使其易于管理和易于维护?

我在考虑为需要查找的文件在/var/lib中创建符号链接,但我不知道需要多少链接,除了python3之外,我不想为每个人创建链接。

如有任何评论,将不胜感激。

你好,保罗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-20 05:43:09

我也遇到了同样的错误。在调查之后,我找到了错误这里的来源。对于conda的默认路径,Zeppelin默认为"/bin/conda“。

通过执行以下操作,我能够修复它:

  • 创建指向/bin/conda:ln -s /opt/anaconda3/bin/conda /bin/conda的符号链接
  • 创建指向/bin/python:ln -s /opt/anaconda3/bin/python /bin/python的符号链接
  • 在Python解释器的设置中,将zeppelin.python设置为/opt/anaconda3/bin/python3
  • 将/usr/lib/齐柏林/conf/齐柏林-env.sh中的PYTHONPATH设置为export PYTHONPATH=/opt/anaconda3/bin

看起来,对于这个行为这里,也存在一个JIRA问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47198678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档