繁体   English   中英

我可以告诉 Zeppelin 使用我的 Python 环境吗? (pyenv/venv)

[英]Can I tell Zeppelin to use my Python env? (pyenv/venv)

我希望从 JupyterLab 切换到 Apache Zeppelin。 我喜欢 JupyterLab 的一件事是我可以pipenv install jupyter ,然后我在笔记本中的 Python 代码本机使用我的应用程序的 Python 环境。 这使我能够运行一个可以直接与我的应用程序的模型和视图对话的 shell。

然而,与 Jupyter 生态系统的 ipython 小部件/nbextensions 相比,我喜欢 Helium 包(Spark/Beam/Neo4j/Bash)和 Zeppelin 的动态形式。

在运行%python单元时,如何告诉 Zeppelin 使用我的 pyenv/venv?


关于我的 python venv 的信息

$ pyenv activate MY_APP

$ which python
/Users/ME/.pyenv/shims/python

$ python
>>> import os
>>> os.environ['VIRTUAL_ENV']
'/Users/ME/.pyenv/versions/3.7.3/envs/MY_APP'

docker image apache/zeppelin:0.8.1 的/zeppelin/conf/interpreter.json中找到了这个,但比平时更努力地映射桌面卷。

"python": {
      "id": "python",
      "name": "python",
      "group": "python",
      "properties": {
        "zeppelin.python": {
          "name": "zeppelin.python",
          "value": "python",
          "type": "string"
        },

齐柏林飞艇笔记本内

import os
os.environ['PYTHONPATH']

[1] '/zeppelin/interpreter/python/py4j-0.9.2/src'

我确定我可以在实时笔记本中使用%sh bash 命令完成此操作,但是有没有办法在 zeppelin 配置中设置 python 环境

找出您的Python可执行文件

$ pyenv activate my_env
(my_env) $ python
>>> import sys
>>> sys.executable

/Users/me/.pyenv/versions/my_env/bin/python 

然后将浏览器导航到localhost:8080/#/interpreters并搜索python。

zeppelin.python更改为sys.executable的输出

保存并重新启动齐柏林飞艇

您还需要将zeppelin.pyspark.python更改为与spark的pyspark解释器不会推断常规python解释器的路径相同的路径。

根据Zeppelin开发人员的介绍,您还可以将其内联设置在笔记本单元中。

%python.conf

zeppelin.python <your_python_env_path>

Kalanos 共享的用于在单元格中设置 inline 的选项与 char 类似。 唯一需要注意的是在启动解释器时在笔记本中作为第一个命令运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM