簡體   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