jupyter-server / jupyter_server

The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications.
https://jupyter-server.readthedocs.io
BSD 3-Clause "New" or "Revised" License
484 stars 293 forks source link

jupyter (server extension)/(serverextension) list produce different output #405

Closed JulianWgs closed 3 years ago

JulianWgs commented 3 years ago

I believe both commands should be equal, but they produce different outputs.

$ jupyter server extension list
Config dir: /home/XXX/.jupyter

Config dir: /usr/etc/jupyter

Config dir: /usr/local/etc/jupyter
$ jupyter serverextension list 
config dir: /home/XXX/.jupyter
    jupyterlab_sql  enabled 
    - Validating...
Error loading server extension jupyterlab_sql
      X is jupyterlab_sql importable?
    dask_labextension  enabled 
    - Validating...
Error loading server extension dask_labextension
      X is dask_labextension importable?
    jupyter_lsp  enabled 
    - Validating...
      jupyter_lsp 1.1.2 OK
jupyter troubleshoot

$ jupyter troubleshoot $PATH: /home/XXX/.yarn/bin /home/XXX/.config/yarn/global/node_modules/.bin /home/XXX/bin /usr/local/bin /home/XXX/.cargo/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /usr/local/cuda-9.2/bin /snap/bin /home/XXX/.local/bin sys.path: /home/XXX/.local/bin /usr/lib/python38.zip /usr/lib/python3.8 /usr/lib/python3.8/lib-dynload /home/XXX/.local/lib/python3.8/site-packages /home/XXX/.local/lib/python3.8/site-packages/pyCGNS-5.0.625-py3.8-linux-x86_64.egg /home/XXX/.local/lib/python3.8/site-packages/optsim-1.0.0-py3.8-linux-x86_64.egg /usr/local/lib/python3.8/dist-packages /usr/lib/python3/dist-packages sys.executable: /usr/bin/python3 sys.version: 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] platform.platform(): Linux-5.4.0-64-generic-x86_64-with-glibc2.29 which -a jupyter: /home/XXX/.local/bin/jupyter pip list: Package Version ---------------------- -------------------- absl-py 0.11.0 anyio 2.0.2 appdirs 1.4.4 apturl 0.5.2 argon2-cffi 20.1.0 asn1crypto 1.4.0 asonic 2.0.0 astroid 2.4.2 astunparse 1.6.3 async-generator 1.10 atpublic 2.1.2 attrs 20.3.0 auditwheel 3.3.1 autopep8 1.5.5 Babel 2.9.0 backcall 0.2.0 bcrypt 3.1.7 beautifulsoup4 4.9.3 black 20.8b1 bleach 3.2.1 blinker 1.4 Brlapi 0.7.0 cachetools 4.2.0 certifi 2019.11.28 cffi 1.14.4 chardet 3.0.4 chrome-gnome-shell 0.0.0 click 7.1.2 cloudpickle 1.6.0 colorama 0.4.3 command-not-found 0.3 commonmark 0.9.1 configobj 5.0.6 crcmod 1.7 crosshair-tool 0.0.9 cryptography 2.8 cupshelpers 1.0 cycler 0.10.0 Cython 0.29.21 dask 2021.1.1 dbus-python 1.2.16 debugpy 1.2.1 decorator 4.4.2 defer 1.0.6 defusedxml 0.6.0 dictdiffer 0.8.1 distlib 0.3.1 distributed 2021.1.1 distro 1.4.0 distro-info 0.23ubuntu1 dm-tree 0.1.5 docutils 0.16 dpath 2.0.1 dulwich 0.20.15 duplicity 0.8.12.0 dvc 1.11.15 entrypoints 0.3 fasteners 0.14.1 filelock 3.0.12 flake8 3.8.4 flatbuffers 1.12 flatten-dict 0.3.0 flufl.lock 3.2 forbiddenfruit 0.1.4 fsspec 0.8.5 ftfy 5.8 funcy 1.15 future 0.18.2 gast 0.3.3 gitdb 4.0.5 GitPython 3.1.12 google-auth 1.24.0 google-auth-oauthlib 0.4.2 google-pasta 0.2.0 grandalf 0.6 greenlet 0.4.15 grpcio 1.32.0 h5py 2.10.0 HeapDict 1.0.1 html5lib 1.1 httplib2 0.14.0 hypothesis 6.0.2 idna 2.8 iniconfig 1.1.1 ipdb 0.13.4 ipydatawidgets 4.2.0 ipykernel 5.4.2 ipython 7.19.0 ipython-genutils 0.2.0 ipyvolume 0.5.2 ipywebrtc 0.5.0 ipywidgets 7.6.3 isort 5.7.0 jedi 0.17.2 jeepney 0.6.0 Jinja2 2.11.2 joblib 1.0.0 json5 0.9.5 jsonpath-ng 1.5.2 jsonschema 3.2.0 jupyter-client 6.1.7 jupyter-core 4.7.0 jupyter-lsp 1.1.2 jupyter-server 1.3.0 jupyterlab 3.0.7 jupyterlab-git 0.23.3 jupyterlab-lsp 3.3.0 jupyterlab-pygments 0.1.2 jupyterlab-server 2.0.0 jupyterlab-widgets 1.0.0 K3D 2.9.1 Keras-Preprocessing 1.1.2 keyring 18.0.1 keyrings.alt 3.4.0 kiwisolver 1.3.1 language-selector 0.1 launchpadlib 1.10.13 lazr.restfulclient 0.14.2 lazr.uri 1.0.3 lazy-object-proxy 1.4.3 lockfile 0.12.2 louis 3.12.0 lxml 4.6.2 macaroonbakery 1.3.1 mailchecker 4.0.3 Mako 1.1.0 Markdown 3.3.3 MarkupSafe 1.1.0 matplotlib 3.3.3 mccabe 0.6.1 meld 3.20.2 meshio 4.3.8 mistune 0.8.4 monotonic 1.5 mpmath 1.1.0 msgpack 1.0.2 mypy-extensions 0.4.3 nanotime 0.5.2 nbclassic 0.2.5 nbclient 0.5.1 nbconvert 6.0.7 nbdime 2.1.0 nbformat 5.0.8 neovim 0.3.1 nest-asyncio 1.4.3 netifaces 0.10.4 networkx 2.5 notebook 6.1.6 numpy 1.19.5 oauth 1.0.1 oauthlib 3.1.0 olefile 0.46 opt-einsum 3.3.0 optsim 1.0.0 packaging 20.8 pandas 1.2.0 pandocfilters 1.4.3 paramiko 2.6.0 parso 0.7.1 pathlib2 2.3.5 pathspec 0.8.1 pbr 5.5.1 pdfminer.six 20201018 pexpect 4.6.0 phonenumbers 8.12.17 pickleshare 0.7.5 Pillow 7.0.0 pip 21.0.1 pipdeptree 2.0.0 pipenv 2020.11.15 pkgconfig 1.5.1 pkginfo 1.7.0 plotly 4.14.3 pluggy 0.13.1 ply 3.11 prometheus-client 0.9.0 prompt-toolkit 3.0.8 protobuf 3.14.0 psutil 5.8.0 ptyprocess 0.7.0 py 1.10.0 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycairo 1.16.2 pyCGNS 5.0.625 pyCGNS-test 5.0.625 pycodestyle 2.6.0 pycparser 2.20 pycrypto 2.6.1 pycups 1.9.73 pydocstyle 5.1.1 pydot 1.4.1 pyelftools 0.27 pyflakes 2.2.0 Pygments 2.7.3 PyGObject 3.36.0 pygraphviz 1.6 pygtrie 2.3.2 PyJWT 1.7.1 pylint 2.6.0 pymacaroons 0.13.0 PyNaCl 1.3.0 pynvim 0.4.1 pyparsing 2.4.7 PyQt5 5.15.2 PyQt5-sip 12.8.1 pyRFC3339 1.1 pyrsistent 0.17.3 pytest 6.2.1 python-apt 2.0.0+ubuntu0.20.4.3 python-benedict 0.23.2 python-dateutil 2.7.3 python-debian 0.1.36ubuntu1 python-fsutil 0.4.0 python-jsonrpc-server 0.4.0 python-language-server 0.36.2 python-slugify 4.0.1 pythreejs 2.2.1 pytz 2019.3 pyxdg 0.26 PyYAML 5.3.1 pyzmq 20.0.0 QtPy 1.9.0 readme-renderer 28.0 Recoll 1.0 recollchm 0.8.4.1+git regex 2020.11.13 reportlab 3.5.34 requests 2.22.0 requests-oauthlib 1.3.0 requests-toolbelt 0.9.1 requests-unixsocket 0.2.0 retrying 1.3.3 rfc3986 1.4.0 rich 9.10.0 rope 0.18.0 rsa 4.6 ruamel.yaml 0.16.12 ruamel.yaml.clib 0.2.2 scikit-learn 0.24.1 scipy 1.6.0 seaborn 0.11.1 SecretStorage 3.3.0 Send2Trash 1.5.0 setuptools 52.0.0 shortuuid 1.0.1 shtab 1.3.4 simplejson 3.16.0 six 1.15.0 smmap 3.0.4 sniffio 1.2.0 snowballstemmer 2.1.0 sortedcontainers 2.3.0 soupsieve 2.1 sympy 1.7.1 system-service 0.3 systemd-python 234 tabulate 0.8.7 tblib 1.7.0 tensorboard 2.4.1 tensorboard-plugin-wit 1.7.0 tensorflow 2.4.0 tensorflow-estimator 2.4.0 tensorflow-probability 0.12.1 termcolor 1.1.0 terminado 0.9.1 testpath 0.4.4 testresources 2.0.1 text-unidecode 1.3 threadpoolctl 2.1.0 tika 1.24 toml 0.10.2 toolz 0.11.1 tornado 6.1 tqdm 4.56.0 traitlets 5.0.5 traittypes 0.2.1 twine 3.3.0 typed-ast 1.4.2 typing-extensions 3.7.4.3 typing-inspect 0.6.0 ubuntu-advantage-tools 20.3 ubuntu-drivers-common 0.0.0 ufw 0.36 ujson 4.0.1 unattended-upgrades 0.1 urllib3 1.25.8 usb-creator 0.3.7 vboxapi 1.0 virtualenv 20.2.2 virtualenv-clone 0.5.4 voluptuous 0.12.1 vtk 9.0.1 wadllib 1.3.3 wcwidth 0.2.5 webencodings 0.5.1 Werkzeug 1.0.1 wheel 0.36.2 widgetsnbextension 3.5.1 wrapt 1.12.1 xeus-python 0.9.1 xkit 0.0.0 xmltodict 0.12.0 yapf 0.30.0 youtube-dl 2021.1.24.1 youtube-transcript-api 0.3.1 z3-solver 4.8.9.0 zc.lockfile 2.0 zict 2.0.0 zope.interface 4.7.1

Thanks! :)

kevin-bates commented 3 years ago

Actually, these are different commands and an unfortunate consequence of history and naming.

jupyter server extension list produces a list of extensions relative to Jupyter Server. jupyter serverextension list produces a list of server extensions relative to the Notebook server.

Perhaps one could argue that the new command should be jupyter server serverextension list but Jupyter Server supports only server extensions, while Notebook supports both server and notebook extensions since it provides a front-end element that Jupyter Server does not.

Since Jupyter Server's extension CLI is a sub-command to jupyter-server (while notebook's is a separate CLI command), it might help clarify things to use jupyter-server extension list when Juptyer Server extension management is desired.

JulianWgs commented 3 years ago

Thank you for your reply. That makes sense! As I understand it the normal Jupyter notebook will not be around indefinitely :D You can close the issue, if you see nothing we can do about it until then.

Thanks :)

kevin-bates commented 3 years ago

Thanks for getting back. Yeah, looking at the long-term picture, I think the current command is where we want to be.