I have setup Apache Zeppelin 0.10.0 following https://zeppelin.apache.org/docs/0.10.0/quickstart/install.html on Ubuntu 22.04.1 LTS.
I have a running vanilla python interpreter setup.
Python is from a conda virtual environment which was installed with:
sudo /opt/conda/bin/conda create --prefix /opt/conda/envs/python3 python=3.9
The zeppelin.python
property points to /opt/conda/envs/python3/bin/python3
.
I am now trying to setup the recommended IPython interpreter.
According https://zeppelin.apache.org/docs/0.10.0/interpreter/python.html#ipython-interpreter-pythonipython-recommended I installed the following packages in my conda environment:
sudo /opt/conda/envs/python3/bin/pip install jupyter
sudo /opt/conda/envs/python3/bin/pip install grpcio
sudo /opt/conda/envs/python3/bin/pip install protobuf
However, when I invoke the IPython interpreter in Zeppelin I get this error:
org.apache.zeppelin.interpreter.InterpreterException: org.apache.zeppelin.interpreter.InterpreterException: Fail to open JupyterKernelInterpreter:
org.apache.zeppelin.interpreter.InterpreterException: Kernel prerequisite is not meet: jupyter-client is not installed, installed packages:
anyio==3.6.2
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
asttokens==2.0.8
attrs==22.1.0
backcall==0.2.0
beautifulsoup4==4.11.1
bleach==5.0.1
certifi @ file:///croot/certifi_1665076670883/work/certifi
cffi==1.15.1
debugpy==1.6.3
decorator==5.1.1
defusedxml==0.7.1
entrypoints==0.4
executing==1.1.1
fastjsonschema==2.16.2
grpcio==1.50.0
idna==3.4
importlib-metadata==5.0.0
ipykernel==6.16.2
ipython==8.5.0
ipython-genutils==0.2.0
ipywidgets==8.0.2
jedi==0.18.1
Jinja2==3.1.2
jsonschema==4.16.0
jupyter==1.0.0
jupyter-console==6.4.4
jupyter-server==1.21.0
jupyter_client==7.4.4
jupyter_core==4.11.2
jupyterlab-pygments==0.2.2
jupyterlab-widgets==3.0.3
MarkupSafe==2.1.1
matplotlib-inline==0.1.6
mistune==2.0.4
nbclassic==0.4.5
nbclient==0.7.0
nbconvert==7.2.2
nbformat==5.7.0
nest-asyncio==1.5.6
notebook==6.5.1
notebook_shim==0.2.0
packaging==21.3
pandocfilters==1.5.0
parso==0.8.3
pexpect==4.8.0
pickleshare==0.7.5
prometheus-client==0.15.0
prompt-toolkit==3.0.31
protobuf==4.21.9
psutil==5.9.3
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.21
Pygments==2.13.0
pyparsing==3.0.9
pyrsistent==0.18.1
python-dateutil==2.8.2
pyzmq==24.0.1
qtconsole==5.3.2
QtPy==2.2.1
Send2Trash==1.8.0
six==1.16.0
sniffio==1.3.0
soupsieve==2.3.2.post1
stack-data==0.5.1
terminado==0.17.0
tinycss2==1.2.1
tornado==6.2
traitlets==5.5.0
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==1.4.1
widgetsnbextension==4.0.3
zipp==3.10.0
I tried as well the same procedure with python version 3.7 without any success (same error resulted).
I do not understand the error message, as it seems to me that jupyter-client
is installed.
Any hint to what could be the reason for this error is more than welcome.
2
Answers
Following the answer of Chao Wang, I found the issue ZEPPELIN-5810 which noted that the package name
jupyter-client
has been changed tojupyter_client
in newer versions. The issue was addressed and implemented in the source code on Sep 12, 2022.The currently latest Apache Zeppelin binary version 0.10.1 is from Feb 29, 2022 and will not contain the fix.
I used the following workaround to setup my
conda
environment for python:zeppelin.python
property points to/opt/conda/envs/python3/bin/python3
.Maybe it’s the difference between underscore(_) and dash(-)?
When I run
pip freeze | grep jupyter-client
I got nothing.Instead, got
jupyter_client==7.4.8
for runningpip freeze | grep jupyter_client