Oryx icon indicating copy to clipboard operation
Oryx copied to clipboard

Oryx install of JupyterLab extension results in incorrect file locations

Open ddrinka opened this issue 2 years ago • 2 comments

Bug Report

Oryx is being run automatically by GitHub CodeSpaces on a requirements.txt file for a python workspace.

Installing the extension manually works find:

$ /opt/python/3.10.4/bin/python3.10 -m pip install --user jupyter-bokeh
$ jupyter-labextension list
JupyterLab v3.5.2
/home/codespace/.local/share/jupyter/labextensions
        @bokeh/jupyter_bokeh v3.0.5 enabled OK (python, jupyter_bokeh)

$ pip show -f jupyter-bokeh
...
Files:
  ../../../etc/jupyter/nbconfig/notebook.d/jupyter_bokeh.json

$ locate jupyter_bokeh.json
/home/codespace/.local/etc/jupyter/nbconfig/notebook.d/jupyter_bokeh.json
/home/codespace/.local/lib/python3.10/site-packages/etc/jupyter/nbconfig/notebook.d/jupyter_bokeh.json

Installing the extension using the command Oryx generates does not work:

$ /opt/python/3.10.4/bin/python3.10 -m pip install --cache-dir /usr/local/share/pip-cache --prefer-binary jupyter-bokeh --target=/home/codespace/.local/lib/python3.10/site-packages --upgrade
$ jupyter-labextension list
JupyterLab v3.5.2
/home/codespace/.local/share/jupyter/labextensions

$ pip show -f jupyter-bokeh
...
Files:
  ../../etc/jupyter/nbconfig/notebook.d/jupyter_bokeh.json

$ locate jupyter_bokeh.json
/home/codespace/.local/lib/python3.10/site-packages/etc/jupyter/nbconfig/notebook.d/jupyter_bokeh.json

ddrinka avatar Jan 12 '23 20:01 ddrinka

Hi @ddrinka thank you for reaching out. May you share the sample application you are using? Also may you please share the full Oryx logs?

william-msft avatar Jan 17 '23 03:01 william-msft

I've created a public repro: https://github.com/ddrinka/OryxPipRepro

  • Add requirements.txt that includes a JupyterLab extension
  • Configure a CodeSpaces pre-build (which by default uses the Universal image with Oryx)
  • Launch the CodeSpace
  • jupyter-labextension list: jupyter_bokeh not enabled
  • pip install --user --force-reinstall jupyter_bokeh
  • jupyter-labextension list: jupyter_bokeh enabled

Here's the pre-build: https://github.com/ddrinka/OryxPipRepro/actions/runs/3943266877/jobs/6747908165

Here are the logs after connecting to the CodeSpace: build.log oryx-build-commands.txt

ddrinka avatar Jan 17 '23 21:01 ddrinka