jupyterlab_code_formatter icon indicating copy to clipboard operation
jupyterlab_code_formatter copied to clipboard

Unable to find server plugin version, this should be impossible...

Open vnijs opened this issue 2 years ago • 9 comments

Checklist prior to opening an issue

  • [* ] I have followed fully the installation steps laid out in the documentation site.
  • [* ] I have restarted jupyterlab.
  • [*] I have read the FAQ section in the documentation site.

Describe the bug

We have used this excellent plugin for some time and never had issues. For some reason we are now getting the "Unable to find server plugin version, this should be impossible..." error each time.

This happened with both the 1.4.11 and 1.4.10 version of the plugin.

Diagnostic commands Please attach the output of the following commands (please format them properly)

  • pip freeze

See the content of the conda environment yaml file below. Couldn't attach the file to a GitHub issue. Link to the full docker file below.

https://github.com/radiant-rstats/docker/blob/master/rsm-jupyter-rs/Dockerfile

  • jupyter labextension list
❯ jupyter labextension list
JupyterLab v3.3.4
/opt/conda/share/jupyter/labextensions
        jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
        jupyterlab-skip-traceback v4.0.0 enabled OK (python, jupyterlab-skip-traceback)
        jupyterlab-system-monitor v0.8.0 enabled OK (python, jupyterlab-system-monitor)
        nbdime-jupyterlab v2.1.1 enabled OK
        jupyterlab-jupytext v1.3.8+dev enabled OK (python, jupytext)
        jupyterlab-topbar-extension v0.6.1 enabled OK (python, jupyterlab-topbar)
        jupyter-matplotlib v0.11.1 enabled OK
        @lckr/jupyterlab_variableinspector v3.0.9 enabled OK (python, lckr_jupyterlab_variableinspector)
        @jupyter-server/resource-usage v0.5.0 enabled OK (python, jupyter-resource-usage)
        @mamba-org/gator-lab v3.0.2 enabled OK (python, mamba_gator)
        @jupyterlab/server-proxy v3.2.1 enabled OK
        @jupyterlab/git v0.37.1 enabled OK (python, jupyterlab-git)
        @ijmbarr/jupyterlab_spellchecker v0.7.2 enabled OK (python, jupyterlab-spellchecker)
        @ryantam626/jupyterlab_code_formatter v1.4.10 enabled OK (python, jupyterlab-code-formatter)
        @jupyter-widgets/jupyterlab-manager v3.1.0 enabled OK (python, jupyterlab_widgets)

Other labextensions (built into JupyterLab)
   app dir: /opt/conda/share/jupyter/lab
  • jupyter serverextension list
❯ jupyter serverextension list
config dir: /opt/conda/etc/jupyter
    jupyter_server_proxy  enabled 
    - Validating...
      jupyter_server_proxy  OK
    jupyter_resource_usage  enabled 
    - Validating...
      jupyter_resource_usage  OK
    jupyterlab  enabled 
    - Validating...
      jupyterlab 3.3.4 OK
    jupyterlab_code_formatter  enabled 
    - Validating...
Error in .makeMessage(..., domain = domain) : 
  3 arguments passed to .Internal(gettext) which requires 2
Error in gettext(fmt, domain = domain, trim = trim) : 
  3 arguments passed to .Internal(gettext) which requires 2
R[write to console]: Error in gettext(fmt, domain = domain, trim = trim) : 
  3 arguments passed to .Internal(gettext) which requires 2

Error loading server extension jupyterlab_code_formatter
      X is jupyterlab_code_formatter importable?
    jupyterlab_git  enabled 
    - Validating...
      jupyterlab_git 0.37.1 OK
    jupyterlab_spellchecker  enabled 
    - Validating...
      jupyterlab_spellchecker 0.7.2 OK
    jupytext  enabled 
    - Validating...
      jupytext 1.13.8 OK
    mamba_gator  enabled 
    - Validating...
      mamba_gator 5.1.2 OK
    nbdime  enabled 
    - Validating...
      nbdime 3.1.1 OK

Screenshots

image

Content of conda environment yaml file.

name: base channels:

  • conda-forge
  • defaults dependencies:
  • _openmp_mutex=4.5=2_kmp_llvm
  • _py-xgboost-mutex=2.0=cpu_0
  • _r-mutex=1.0.1=anacondar_1
  • abseil-cpp=20210324.2=h01db608_0
  • aiohttp=3.8.1=py39h0fd3b05_1
  • aiosignal=1.2.0=pyhd8ed1ab_0
  • alembic=1.7.7=pyhd8ed1ab_0
  • altair=4.2.0=pyhd8ed1ab_1
  • anyio=3.5.0=py39ha65689a_0
  • aom=3.3.0=headf329_1
  • argh=0.26.2=pyh9f0ad1d_1002
  • argon2-cffi=21.3.0=pyhd8ed1ab_0
  • argon2-cffi-bindings=21.2.0=py39h0fd3b05_2
  • arrow-cpp=7.0.0=py39hb4a9b89_4_cpu
  • astor=0.8.1=pyh9f0ad1d_0
  • asttokens=2.0.5=pyhd8ed1ab_0
  • astunparse=1.6.3=pyhd8ed1ab_0
  • async-timeout=4.0.2=pyhd8ed1ab_0
  • async_generator=1.10=py_0
  • atk-1.0=2.36.0=h8b428f0_4
  • attrs=21.4.0=pyhd8ed1ab_0
  • aws-c-cal=0.5.11=h76602a3_0
  • aws-c-common=0.6.2=hf897c2e_0
  • aws-c-event-stream=0.2.7=hf314db3_13
  • aws-c-io=0.10.5=h5a3db43_0
  • aws-checksums=0.1.11=hafdcbdd_7
  • aws-sdk-cpp=1.8.186=h3fd84e4_3
  • babel=2.9.1=pyh44b312d_0
  • backcall=0.2.0=pyh9f0ad1d_0
  • backports=1.0=py_2
  • backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
  • base58=2.1.1=pyhd8ed1ab_0
  • bash_kernel=0.7.2=py_0
  • beautifulsoup4=4.11.1=pyha770c72_0
  • binutils_impl_linux-aarch64=2.36.1=h026399b_2
  • binutils_linux-aarch64=2.36=h7854541_9
  • black=22.3.0=pyhd8ed1ab_0
  • blas=2.114=openblas
  • blas-devel=3.9.0=14_linuxaarch64_openblas
  • bleach=5.0.0=pyhd8ed1ab_0
  • blinker=1.4=py_1
  • blosc=1.21.1=h64d4e15_0
  • bokeh=2.4.2=py39h4420490_1
  • boto3=1.22.4=pyhd8ed1ab_0
  • botocore=1.25.4=pyhd8ed1ab_0
  • bottleneck=1.3.4=py39h890285e_1
  • brotli=1.0.9=h4e544f5_7
  • brotli-bin=1.0.9=h4e544f5_7
  • brotlipy=0.7.0=py39h0fd3b05_1004
  • brunsli=0.1=h01db608_0
  • bwidget=1.9.14=h8af1aa0_1
  • bzip2=1.0.8=hf897c2e_4
  • c-ares=1.18.1=hf897c2e_0
  • c-blosc2=2.0.4=h9a49097_1
  • ca-certificates=2021.10.8=h4fd8a4c_0
  • cached-property=1.5.2=hd8ed1ab_1
  • cached_property=1.5.2=pyha770c72_1
  • cachetools=5.0.0=pyhd8ed1ab_0
  • cairo=1.16.0=h007064d_1010
  • catalogue=2.0.6=py39h4420490_2
  • certifi=2021.10.8=py39h4420490_2
  • certipy=0.1.3=py_0
  • cffi=1.15.0=py39hab139ec_0
  • cfitsio=4.1.0=h8b262d6_0
  • charls=2.3.4=h01db608_0
  • charset-normalizer=2.0.12=pyhd8ed1ab_0
  • click=8.0.4=py39ha65689a_0
  • cloudpickle=2.0.0=pyhd8ed1ab_0
  • cmake=3.23.1=hcad14f8_0
  • cmdstan=2.29.0=h33a0240_0
  • cmdstanpy=1.0.1=pyhd8ed1ab_0
  • colorama=0.4.4=pyh9f0ad1d_0
  • conda=4.12.0=py39h4420490_0
  • conda-package-handling=1.8.1=py39h0fd3b05_1
  • configurable-http-proxy=4.5.1=node17_hfaf594c_1
  • cryptography=36.0.2=py39h32042e6_1
  • curl=7.83.0=h8fd98b7_0
  • cycler=0.11.0=pyhd8ed1ab_0
  • cymem=2.0.6=py39h3d8bfb9_3
  • cython=0.29.28=py39h3d8bfb9_2
  • cython-blis=0.7.7=py39h890285e_1
  • cytoolz=0.11.2=py39hb9a1dbb_2
  • dask=2022.4.2=pyhd8ed1ab_0
  • dask-core=2022.4.2=pyhd8ed1ab_0
  • dataclasses=0.8=pyhc8e2a94_3
  • debugpy=1.6.0=py39h3d8bfb9_0
  • decorator=5.1.1=pyhd8ed1ab_0
  • defusedxml=0.7.1=pyhd8ed1ab_0
  • dill=0.3.4=pyhd8ed1ab_0
  • distributed=2022.4.2=pyhd8ed1ab_0
  • entrypoints=0.4=pyhd8ed1ab_0
  • executing=0.8.3=pyhd8ed1ab_0
  • expat=2.4.8=ha18d298_0
  • fastapi=0.75.2=pyhd8ed1ab_0
  • flask=2.1.2=pyhd8ed1ab_0
  • flit-core=3.7.1=pyhd8ed1ab_0
  • font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  • font-ttf-inconsolata=3.000=h77eed37_0
  • font-ttf-source-code-pro=2.038=h77eed37_0
  • font-ttf-ubuntu=0.83=hab24e00_0
  • fontconfig=2.14.0=h856ede2_0
  • fonts-conda-ecosystem=1=0
  • fonts-conda-forge=1=0
  • fonttools=4.33.3=py39h0fd3b05_0
  • formulaic=0.3.3=pyhd8ed1ab_0
  • freetype=2.10.4=hdf53a3c_1
  • fribidi=1.0.10=hb9de7d4_0
  • frozenlist=1.3.0=py39h0fd3b05_1
  • fsspec=2022.3.0=pyhd8ed1ab_0
  • funcy=1.17=pyhd8ed1ab_0
  • future=0.18.2=py39ha65689a_5
  • gcc_impl_linux-aarch64=9.4.0=h603953f_16
  • gcc_linux-aarch64=9.4.0=h9fa865e_9
  • gdk-pixbuf=2.42.8=hb98dc3c_0
  • gettext=0.19.8.1=h6edf1e2_1008
  • gflags=2.2.2=h54f1f3f_1004
  • gfortran_impl_linux-aarch64=9.4.0=h54cdb55_16
  • gfortran_linux-aarch64=9.4.0=h02353c8_9
  • giflib=5.2.1=hb9de7d4_2
  • gitdb=4.0.9=pyhd8ed1ab_0
  • gitpython=3.1.27=pyhd8ed1ab_0
  • glog=0.6.0=h8ab10f1_0
  • gmp=6.2.1=h7fd3ca4_0
  • gmpy2=2.1.2=py39hb332cb7_0
  • graphite2=1.3.13=h7fd3ca4_1001
  • graphviz=2.50.0=h9ece97c_1
  • greenlet=1.1.2=py39h3d8bfb9_2
  • grpc-cpp=1.43.2=h4e595cf_1
  • gsl=2.7=h294027d_0
  • gtk2=2.24.33=h82c1fbc_1
  • gts=0.7.6=hb6842a0_2
  • gxx_impl_linux-aarch64=9.4.0=h603953f_16
  • gxx_linux-aarch64=9.4.0=h1e24722_9
  • h11=0.13.0=pyhd8ed1ab_0
  • h5py=3.6.0=nompi_py39hbdd1fc2_100
  • harfbuzz=3.4.0=h046a1c0_0
  • hdf5=1.12.1=nompi_h7bde11e_104
  • heapdict=1.0.1=py_0
  • icu=69.1=h3621d8e_0
  • idna=3.3=pyhd8ed1ab_0
  • imagecodecs=2022.2.22=py39ha27213c_4
  • imageio=2.18.0=pyhcf75d05_0
  • importlib-metadata=4.11.3=py39ha65689a_1
  • importlib-resources=5.7.1=pyhd8ed1ab_0
  • importlib_metadata=4.11.3=hd8ed1ab_1
  • importlib_resources=5.7.1=pyhd8ed1ab_0
  • interface_meta=1.3.0=pyhd8ed1ab_0
  • ipykernel=6.13.0=py39hef158d4_0
  • ipympl=0.9.1=pyhd8ed1ab_0
  • ipynbname=2021.3.2=pyhd8ed1ab_0
  • ipython=8.3.0=py39h4420490_0
  • ipython-sql=0.3.9=pyhd8ed1ab_1004
  • ipython_genutils=0.2.0=py_1
  • ipywidgets=7.7.0=pyhd8ed1ab_0
  • isort=5.10.1=pyhd8ed1ab_0
  • itsdangerous=2.1.2=pyhd8ed1ab_0
  • jbig=2.1=hf897c2e_2003
  • jedi=0.18.1=py39ha65689a_1
  • jinja2=3.1.1=pyhd8ed1ab_0
  • jmespath=1.0.0=pyhd8ed1ab_0
  • joblib=1.1.0=pyhd8ed1ab_0
  • jpeg=9e=h9cdd2b7_1
  • json5=0.9.5=pyh9f0ad1d_0
  • jsonschema=4.4.0=pyhd8ed1ab_0
  • jupyter-resource-usage=0.5.1=pyhd8ed1ab_0
  • jupyter-rsession-proxy=2.0.1=pyhd8ed1ab_0
  • jupyter-server-mathjax=0.2.5=pyhc268e32_0
  • jupyter-server-proxy=3.2.1=pyhd8ed1ab_0
  • jupyter_client=7.3.0=pyhd8ed1ab_0
  • jupyter_core=4.9.2=py39h4420490_0
  • jupyter_server=1.17.0=pyhd8ed1ab_0
  • jupyter_telemetry=0.1.0=pyhd8ed1ab_1
  • jupyterhub=2.2.2=pyhd8ed1ab_1
  • jupyterhub-base=2.2.2=pyhd8ed1ab_1
  • jupyterlab=3.3.4=pyhd8ed1ab_0
  • jupyterlab-git=0.37.1=pyhd8ed1ab_0
  • jupyterlab-spellchecker=0.7.2=pyhd8ed1ab_0
  • jupyterlab-system-monitor=0.8.0=pyhd8ed1ab_1
  • jupyterlab-topbar=0.6.1=pyhd8ed1ab_2
  • jupyterlab_code_formatter=1.4.10=pyhd8ed1ab_1
  • jupyterlab_pygments=0.2.2=pyhd8ed1ab_0
  • jupyterlab_server=2.13.0=pyhd8ed1ab_1
  • jupyterlab_widgets=1.1.0=pyhd8ed1ab_0
  • jupytext=1.13.8=pyh4b9bcc7_0
  • jxrlib=1.1=hf897c2e_2
  • kernel-headers_linux-aarch64=4.18.0=h5b4a56d_13
  • keyutils=1.6.1=h4e544f5_0
  • kiwisolver=1.4.2=py39h110580c_1
  • krb5=1.19.3=h7c456eb_0
  • langcodes=3.3.0=pyhd8ed1ab_0
  • lcms2=2.12=h012adcb_0
  • ld_impl_linux-aarch64=2.36.1=h02ad14f_2
  • lerc=3.0=h01db608_0
  • libaec=1.0.6=h01db608_0
  • libarchive=3.5.2=h37be732_1
  • libavif=0.10.1=h4e544f5_0
  • libblas=3.9.0=14_linuxaarch64_openblas
  • libbrotlicommon=1.0.9=h4e544f5_7
  • libbrotlidec=1.0.9=h4e544f5_7
  • libbrotlienc=1.0.9=h4e544f5_7
  • libcblas=3.9.0=14_linuxaarch64_openblas
  • libcrc32c=1.1.2=h01db608_0
  • libcurl=7.83.0=h8fd98b7_0
  • libdeflate=1.10=hf897c2e_0
  • libedit=3.1.20191231=he28a2e2_2
  • libev=4.33=h516909a_1
  • libevent=2.1.10=h6aed413_4
  • libffi=3.4.2=h3557bc0_5
  • libgcc-devel_linux-aarch64=9.4.0=h85f5abf_16
  • libgcc-ng=11.2.0=hf1cc4e7_16
  • libgd=2.3.3=h680d75f_2
  • libgfortran-ng=11.2.0=he9431aa_16
  • libgfortran5=11.2.0=h440fb59_16
  • libglib=2.70.2=hde3fb6c_4
  • libgomp=11.2.0=hf1cc4e7_16
  • libgoogle-cloud=1.35.0=h82cccae_2
  • libiconv=1.16=h6dd45c4_0
  • liblapack=3.9.0=14_linuxaarch64_openblas
  • liblapacke=3.9.0=14_linuxaarch64_openblas
  • libllvm11=11.1.0=h6293a0b_3
  • libmamba=0.23.0=h8683862_1
  • libmambapy=0.23.0=py39hdaab871_1
  • libnghttp2=1.47.0=h75cb1c7_0
  • libnsl=2.0.0=hf897c2e_0
  • libopenblas=0.3.20=pthreads_h6cb6f83_0
  • libpng=1.6.37=hbd635b3_2
  • libpq=14.2=h29fb33b_0
  • libprotobuf=3.19.4=h469bdbd_0
  • librsvg=2.52.5=h47a9834_1
  • libsanitizer=9.4.0=h4d00405_16
  • libsodium=1.0.18=hb9de7d4_1
  • libsolv=0.7.22=h7866ba4_0
  • libssh2=1.10.0=h1ab2c7b_2
  • libstdcxx-devel_linux-aarch64=9.4.0=h85f5abf_16
  • libstdcxx-ng=11.2.0=h0d0a5bb_16
  • libthrift=0.16.0=h0cb72c4_1
  • libtiff=4.3.0=hdea21e4_3
  • libtool=2.4.6=h01db608_1008
  • libutf8proc=2.7.0=hf897c2e_0
  • libuuid=2.32.1=hf897c2e_1000
  • libuv=1.43.0=hf897c2e_0
  • libwebp=1.2.2=h21830e5_0
  • libwebp-base=1.2.2=hf897c2e_1
  • libxcb=1.13=h3557bc0_1004
  • libxgboost=1.5.1=cpu_h59d83fc_2
  • libxml2=2.9.12=h1e2ce75_1
  • libzlib=1.2.11=h4e544f5_1014
  • libzopfli=1.0.3=h01db608_0
  • lime=0.2.0.1=pyh9f0ad1d_0
  • linearmodels=4.26=py39h890285e_0
  • llvm-openmp=14.0.3=hb2805f8_0
  • llvmlite=0.38.0=py39hbbff7ca_1
  • locket=1.0.0=pyhd8ed1ab_0
  • lz4=4.0.0=py39hf77127a_1
  • lz4-c=1.9.3=h01db608_1
  • lzo=2.10=h516909a_1000
  • make=4.3=h309ac5b_1
  • mako=1.2.0=pyhd8ed1ab_1
  • mamba=0.23.0=py39hc9db4b5_1
  • mamba_gator=5.1.2=pyhd8ed1ab_0
  • markdown-it-py=2.1.0=pyhd8ed1ab_0
  • markupsafe=2.1.1=py39hb9a1dbb_1
  • matplotlib-base=3.5.1=py39hc6c69e0_0
  • matplotlib-inline=0.1.3=pyhd8ed1ab_0
  • mdit-py-plugins=0.3.0=pyhd8ed1ab_0
  • mdurl=0.1.0=pyhd8ed1ab_0
  • mistune=0.8.4=py39h14843e3_1005
  • mlxtend=0.19.0=pyhd8ed1ab_0
  • mpc=1.2.1=h846f343_0
  • mpfr=4.1.0=h719063d_1
  • mpmath=1.2.1=pyhd8ed1ab_0
  • msgpack-python=1.0.3=py39h110580c_1
  • multidict=6.0.2=py39h0fd3b05_1
  • munkres=1.1.4=pyh9f0ad1d_0
  • murmurhash=1.0.7=py39h3d8bfb9_0
  • mypy_extensions=0.4.3=py39h4420490_5
  • nbclassic=0.3.7=pyhd8ed1ab_0
  • nbclient=0.6.0=pyhd8ed1ab_0
  • nbconvert=6.5.0=pyhd8ed1ab_0
  • nbconvert-core=6.5.0=pyhd8ed1ab_0
  • nbconvert-pandoc=6.5.0=pyhd8ed1ab_0
  • nbdime=3.1.1=pyhd8ed1ab_0
  • nbformat=5.3.0=pyhd8ed1ab_0
  • ncurses=6.3=headf329_1
  • nest-asyncio=1.5.5=pyhd8ed1ab_0
  • networkx=2.8=pyhd8ed1ab_0
  • ninja=1.10.2=hd62202e_1
  • nodejs=17.8.0=h84b8f93_0
  • notebook=6.4.11=pyha770c72_0
  • notebook-shim=0.1.0=pyhd8ed1ab_0
  • numba=0.55.1=py39h0974df5_0
  • numexpr=2.8.0=py39h2ec411b_2
  • numpy=1.21.6=py39h80965e7_0
  • oauthlib=3.2.0=pyhd8ed1ab_0
  • openblas=0.3.20=pthreads_h2d9dd7e_0
  • openjpeg=2.4.0=h45037e0_1
  • openssl=1.1.1n=h4e544f5_0
  • orc=1.7.3=h5c30ecb_0
  • outcome=1.1.0=pyhd8ed1ab_0
  • packaging=21.3=pyhd8ed1ab_0
  • pamela=1.0.0=py_0
  • pandas=1.4.2=py39h63591b6_1
  • pandoc=2.18=h8af1aa0_0
  • pandocfilters=1.5.0=pyhd8ed1ab_0
  • pango=1.48.10=h7a4e8f0_3
  • parquet-cpp=1.5.1=2
  • parso=0.8.3=pyhd8ed1ab_0
  • partd=1.2.0=pyhd8ed1ab_0
  • pathspec=0.9.0=pyhd8ed1ab_0
  • pathy=0.6.1=pyhd8ed1ab_0
  • patsy=0.5.2=pyhd8ed1ab_0
  • pcre=8.45=h01db608_0
  • pcre2=10.37=h73360fb_0
  • pexpect=4.8.0=pyh9f0ad1d_2
  • pickleshare=0.7.5=py_1003
  • pillow=9.1.0=py39h2a8e185_2
  • pip=22.0.4=pyhd8ed1ab_0
  • pixman=0.40.0=hb9de7d4_0
  • platformdirs=2.5.1=pyhd8ed1ab_0
  • preshed=3.0.6=py39h3d8bfb9_2
  • prettytable=3.2.0=pyhd8ed1ab_0
  • prometheus_client=0.14.1=pyhd8ed1ab_0
  • prompt-toolkit=3.0.29=pyha770c72_0
  • property-cached=1.6.4=py_0
  • property_cached=1.6.4=0
  • protobuf=3.19.4=py39h99ab00b_0
  • psutil=5.9.0=py39h0fd3b05_1
  • psycopg2=2.9.3=py39h14843e3_0
  • pthread-stubs=0.4=hb9de7d4_1001
  • ptyprocess=0.7.0=pyhd3deb0d_0
  • pure_eval=0.2.2=pyhd8ed1ab_0
  • py-xgboost=1.5.1=cpu_py39h7aa6a28_2
  • pyarrow=7.0.0=py39h569404e_4_cpu
  • pybind11-abi=4=hd8ed1ab_3
  • pycosat=0.6.3=py39h0fd3b05_1010
  • pycparser=2.21=pyhd8ed1ab_0
  • pycurl=7.45.1=py39h720984d_1
  • pydantic=1.8.2=py39h14843e3_2
  • pydeck=0.7.1=pyh6c4a22f_0
  • pydotplus=2.0.2=pyhaef67bd_5
  • pygments=2.12.0=pyhd8ed1ab_0
  • pyhdfe=0.1.0=pyhd8ed1ab_0
  • pyjwt=2.3.0=pyhd8ed1ab_1
  • pyldavis=3.3.1=pyhd8ed1ab_0
  • pympler=0.9=pyh9f0ad1d_0
  • pyopenssl=22.0.0=pyhd8ed1ab_0
  • pyparsing=3.0.8=pyhd8ed1ab_0
  • pyrsistent=0.18.1=py39hb9a1dbb_1
  • pyrsm=0.5.8=pyhd8ed1ab_0
  • pysocks=1.7.1=py39ha65689a_5
  • pytables=3.7.0=py39hdf442ea_0
  • python=3.9.12=h2eada40_1_cpython
  • python-dateutil=2.8.2=pyhd8ed1ab_0
  • python-dotenv=0.20.0=pyhd8ed1ab_0
  • python-fastjsonschema=2.15.3=pyhd8ed1ab_0
  • python-json-logger=2.0.1=pyh9f0ad1d_0
  • python-tzdata=2022.1=pyhd8ed1ab_0
  • python_abi=3.9=2_cp39
  • pytz=2022.1=pyhd8ed1ab_0
  • pytz-deprecation-shim=0.1.0.post0=py39ha65689a_1
  • pywavelets=1.3.0=py39h890285e_1
  • pyyaml=6.0=py39h0fd3b05_4
  • pyzmq=22.3.0=py39h754ef6b_2
  • r-base=4.1.2=h58144e6_0
  • re2=2022.02.01=h01db608_0
  • readline=8.1=h1a49cc3_0
  • reproc=14.2.3=hf897c2e_0
  • reproc-cpp=14.2.3=h01db608_0
  • requests=2.27.1=pyhd8ed1ab_0
  • rhash=1.4.1=hf897c2e_0
  • rpy2=3.5.1=py39r41h890285e_0
  • ruamel.yaml=0.17.21=py39h0fd3b05_1
  • ruamel.yaml.clib=0.2.6=py39h0fd3b05_1
  • ruamel_yaml=0.15.80=py39h14843e3_1006
  • s2n=1.0.10=h6aed413_0
  • s3transfer=0.5.2=pyhd8ed1ab_0
  • scikit-image=0.19.2=py39h7b4a2eb_0
  • scikit-learn=1.0.2=py39h06d45a3_0
  • scipy=1.8.0=py39h59f125f_1
  • seaborn=0.11.2=hd8ed1ab_0
  • seaborn-base=0.11.2=pyhd8ed1ab_0
  • sed=4.8=ha0d5d3d_0
  • selenium=4.1.0=pyhd8ed1ab_0
  • semver=2.13.0=pyh9f0ad1d_0
  • send2trash=1.8.0=pyhd8ed1ab_0
  • setuptools=62.1.0=py39ha65689a_0
  • setuptools-scm=6.4.2=pyhd8ed1ab_0
  • shap=0.40.0=py39h03da0bc_1
  • shellingham=1.4.0=pyh44b312d_0
  • simpervisor=0.4=pyhd8ed1ab_0
  • simplegeneric=0.8.1=py_1
  • six=1.16.0=pyh6c4a22f_0
  • slicer=0.0.7=pyhd8ed1ab_0
  • smart_open=5.2.1=pyhd8ed1ab_0
  • smmap=3.0.5=pyh44b312d_0
  • snappy=1.1.8=h54f1f3f_3
  • sniffio=1.2.0=py39h4420490_3
  • sortedcontainers=2.4.0=pyhd8ed1ab_0
  • soupsieve=2.3.1=pyhd8ed1ab_0
  • spacy=3.2.4=py39hb71cbf4_0
  • spacy-legacy=3.0.9=pyhd8ed1ab_0
  • spacy-loggers=1.0.2=pyhd8ed1ab_0
  • sqlalchemy=1.4.36=py39hb9a1dbb_0
  • sqlite=3.38.3=hc74f5b8_0
  • sqlparse=0.4.2=pyhd8ed1ab_0
  • srsly=2.4.3=py39h3d8bfb9_1
  • stack_data=0.2.0=pyhd8ed1ab_0
  • starlette=0.17.1=pyhd8ed1ab_0
  • statsmodels=0.13.2=py39h5cfbcb9_0
  • streamlit=1.8.1=pyhd8ed1ab_0
  • sympy=1.9=py39h4420490_1
  • sysroot_linux-aarch64=2.17=h43d7e78_13
  • tbb=2021.5.0=hdd96247_1
  • tbb-devel=2021.5.0=hdd96247_1
  • tblib=1.7.0=pyhd8ed1ab_0
  • terminado=0.13.3=py39ha65689a_1
  • thinc=8.0.15=py39hb71cbf4_0
  • threadpoolctl=3.1.0=pyh8a188c0_0
  • tifffile=2022.4.28=pyhd8ed1ab_0
  • tinycss2=1.1.1=pyhd8ed1ab_0
  • tk=8.6.12=hd8af866_0
  • tktable=2.10=hcd05d48_3
  • toml=0.10.2=pyhd8ed1ab_0
  • tomli=2.0.1=pyhd8ed1ab_0
  • toolz=0.11.2=pyhd8ed1ab_0
  • tornado=6.1=py39hb9a1dbb_3
  • tqdm=4.64.0=pyhd8ed1ab_0
  • traitlets=5.1.1=pyhd8ed1ab_0
  • trio=0.20.0=py39h4420490_1
  • trio-websocket=0.9.2=pyhd8ed1ab_0
  • typed-ast=1.5.3=py39hb9a1dbb_0
  • typer=0.4.1=pyhd8ed1ab_0
  • typing-extensions=4.2.0=hd8ed1ab_1
  • typing_extensions=4.2.0=pyha770c72_1
  • tzdata=2022a=h191b570_0
  • tzlocal=4.2=py39ha65689a_0
  • ujson=5.2.0=py39h3d8bfb9_1
  • unicodedata2=14.0.0=py39h0fd3b05_1
  • urllib3=1.26.9=pyhd8ed1ab_0
  • validators=0.18.2=pyhd3deb0d_0
  • wasabi=0.9.1=pyhd8ed1ab_0
  • watchdog=2.1.7=py39ha65689a_1
  • wcwidth=0.2.5=pyh9f0ad1d_2
  • webencodings=0.5.1=py_1
  • websocket-client=1.3.2=pyhd8ed1ab_0
  • werkzeug=2.1.2=pyhd8ed1ab_0
  • wheel=0.37.1=pyhd8ed1ab_0
  • widgetsnbextension=3.6.0=py39h4420490_0
  • wrapt=1.14.1=py39h0fd3b05_0
  • wsproto=1.1.0=py39ha65689a_0
  • xgboost=1.5.1=cpu_py39h9239384_2
  • xlrd=2.0.1=pyhd8ed1ab_3
  • xorg-kbproto=1.0.7=h3557bc0_1002
  • xorg-libice=1.0.10=h3557bc0_0
  • xorg-libsm=1.2.3=h965e137_1000
  • xorg-libx11=1.7.2=h3557bc0_0
  • xorg-libxau=1.0.9=h3557bc0_0
  • xorg-libxdmcp=1.1.3=h3557bc0_0
  • xorg-libxext=1.3.4=h3557bc0_1
  • xorg-libxrender=0.9.10=h3557bc0_1003
  • xorg-libxt=1.2.1=h3557bc0_2
  • xorg-renderproto=0.11.1=h3557bc0_1002
  • xorg-xextproto=7.3.0=h3557bc0_1002
  • xorg-xproto=7.0.31=h3557bc0_1007
  • xz=5.2.5=h6dd45c4_1
  • yaml=0.2.5=hf897c2e_2
  • yaml-cpp=0.6.3=h54f1f3f_4
  • yarl=1.7.2=py39h0fd3b05_2
  • zeromq=4.3.4=h01db608_1
  • zfp=0.5.5=h01db608_8
  • zict=2.2.0=pyhd8ed1ab_0
  • zipp=3.8.0=pyhd8ed1ab_0
  • zlib=1.2.11=h4e544f5_1014
  • zstd=1.5.2=h41fb7a4_0
  • pip:
    • jupyterlab-skip-traceback==4.0.0
    • lckr-jupyterlab-variableinspector==3.0.9
    • radian==0.6.1
    • rchitect==0.3.36
    • torch==1.12.0a0+git201ddaf
    • torchvision==0.13.0a0+ecbff88 prefix: /opt/conda

vnijs avatar May 02 '22 19:05 vnijs

The lines


Error loading server extension jupyterlab_code_formatter
      X is jupyterlab_code_formatter importable?

highlights the issue at play here.

To dive into this,

I have built your image (btw your image is massive)

docker build -f rsm-jupyter-rs/Dockerfile . -t wat

Swapped entrypoint to bash and run.

docker run  -p 127.0.0.1:8989:8989 -p 127.0.0.1:8765:8765 -p 127.0.0.1:8181:8181 -p 127.0.0.1:8282:8282 --entrypoint bash -it wat

Try to import the server plugin

python -c 'import jupyterlab_code_formatter'

You should see some rpy2 related error

Error in .makeMessage(..., domain = domain) :
  3 arguments passed to .Internal(gettext) which requires 2
Error in gettext(fmt, domain = domain, trim = trim) :
  3 arguments passed to .Internal(gettext) which requires 2
R[write to console]: Error in gettext(fmt, domain = domain, trim = trim) :
  3 arguments passed to .Internal(gettext) which requires 2

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/opt/conda/lib/python3.9/site-packages/jupyterlab_code_formatter/__init__.py", line 4, in <module>
    from .handlers import setup_handlers
  File "/opt/conda/lib/python3.9/site-packages/jupyterlab_code_formatter/handlers.py", line 10, in <module>
    from .formatters import SERVER_FORMATTERS
  File "/opt/conda/lib/python3.9/site-packages/jupyterlab_code_formatter/formatters.py", line 9, in <module>
    import rpy2.robjects
  File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/__init__.py", line 19, in <module>
    import rpy2.robjects.functions
  File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/functions.py", line 11, in <module>
    from rpy2.robjects import help
  File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/help.py", line 45, in <module>
    quiet_require('tools')
  File "/opt/conda/lib/python3.9/site-packages/rpy2/robjects/help.py", line 41, in quiet_require
    ok = _eval(expr)
  File "/opt/conda/lib/python3.9/site-packages/rpy2/rinterface_lib/conversion.py", line 45, in _
    cdata = function(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/rpy2/rinterface.py", line 810, in __call__
    raise embedded.RRuntimeError(_rinterface._geterrmessage())
rpy2.rinterface_lib.embedded.RRuntimeError: Error in gettext(fmt, domain = domain, trim = trim) :

Once you fix this by pinning rpy2 (or however else you wish to deal with this), the plugin should in back in working order.

ryantam626 avatar May 02 '22 22:05 ryantam626

Thanks @ryantam626! Very useful. See link below. I'll close and add a post to this issue if I get it sorted.

https://github.com/rpy2/rpy2/issues/874

vnijs avatar May 03 '22 01:05 vnijs

@ryantam626 Thanks again for getting me started on the path to understanding the issue. I have finally gotten to the point where python -c 'import jupyterlab_code_formatter' works from a system terminal and from a terminal in juypter. rpy2 also works in JupyterLab notebooks.

However, I'm not able to get it jupyterlab_code_formatter to work, unfortunately.

image

image

I still get the error below. Any suggestions? Else, is it possible to restrict jupyterlab_code_formatter to only run for Python code?

image

If you are on an M1 mac you can run the below:

docker run -it vnijs/rsm-jupyter:2.4.1 /bin/zsh

and then

python -c 'import jupyterlab_code_formatter'

Works fine

If you are not on a mac you can run the below:

docker run -it vnijs/rsm-jupyter-rs:2.4.1 /bin/zsh

and then

python -c 'import jupyterlab_code_formatter'

Also works fine.

vnijs avatar May 30 '22 06:05 vnijs

A combination of installing rpy2 using pip instead of conda and setting the LD_LIBRARY_PATH environment variable in the Dockerfile got this working. Thanks again for pointing me in the direction of the issue. Much appreciated and thanks again for creating and maintaining jupyterlab_code_formatter!

vnijs avatar Jun 01 '22 06:06 vnijs

Ah I was going to look at this over the long weekend, glad it worked out, considering the error seems to be quite obscure!

ryantam626 avatar Jun 01 '22 09:06 ryantam626

OK. Weird followup.

When I run the latest version of the docker image on our server we still get the "unable to find server plugin" even though rpy2 loads and works in jupyterlab and the below also runs without error.

If you have any ideas that could help diagnose please let me know. Else, is there perhaps a way to turn off code formatting for R but still have it work for python notebooks?

image

image

vnijs avatar Jun 25 '22 04:06 vnijs

I have another issue with the version problem.

My notebooks working with formatter fine in the last months, but when I upgraded to the latest one. I got

Lab plugin version: 1.4.11. Server plugin version: 1.5.3. Please re-install the plugin with the latest instruction.

xin-hao-awx avatar Aug 15 '22 03:08 xin-hao-awx

@vnijs Sorry I missed this, is this still an issue?

ryantam626 avatar Aug 15 '22 16:08 ryantam626

@xin-hao-awx have you tried installing the plugin? If it doesn't work please open a new issue :pray:

ryantam626 avatar Aug 15 '22 16:08 ryantam626

Closing due to inactivity

ryantam626 avatar May 05 '23 09:05 ryantam626