我可以告诉 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'
在 /zeppelin/conf/interpreter.json 的 docker 图像 apache/zeppelin:0.8.1 中找到了这个,但比平时更挣扎映射桌面卷。
"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 命令完成此操作,但是有什么方法可以 设置python 飞艇配置中的 env?
找出你的 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
您还需要将 zeppelin.pyspark.python
更改为相同的路径,因为 spark 的 pyspark 解释器不会推断您的常规 python 解释器的路径。
根据 Zeppelin 开发人员的说法,您还可以将其设置为内嵌在笔记本单元格中。
%python.conf
zeppelin.python <your_python_env_path>
我希望从 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'
在 /zeppelin/conf/interpreter.json 的 docker 图像 apache/zeppelin:0.8.1 中找到了这个,但比平时更挣扎映射桌面卷。
"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 命令完成此操作,但是有什么方法可以 设置python 飞艇配置中的 env?
找出你的 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
您还需要将 zeppelin.pyspark.python
更改为相同的路径,因为 spark 的 pyspark 解释器不会推断您的常规 python 解释器的路径。
根据 Zeppelin 开发人员的说法,您还可以将其设置为内嵌在笔记本单元格中。
%python.conf
zeppelin.python <your_python_env_path>