[英]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.