jupyter-server / jupyter-scheduler

Run Jupyter notebooks as jobs
https://jupyter-scheduler.readthedocs.io
BSD 3-Clause "New" or "Revised" License
193 stars 23 forks source link

Jupyter Scheduler server extension not found #370

Closed nev7n closed 10 months ago

nev7n commented 1 year ago

Description

After installing jupyter-scheduler==1.3.1 with pip we get the following error on starting JupyterLab: image

I've tried running the suggested commands and it reports the extensions are both enabled: image

I'm guessing this is related to a backend request failing with a 404 to (URL domain sanitised):

https://jupyter.xxxx.com/user/justin/scheduler/jobs?max_items=0&1683728504566

Not sure why this URL is returning a 404, I would assume the enabled server extension should handle this endpoint?

Reproduce

  1. pip install jupyter-scheduler==1.3.1
  2. jupyter server extension enable --user --py jupyter_scheduler
  3. Restart jupyter lab.
  4. Error message shows, jupyter scheduler not available in jupyter lab.

Expected behavior

Jupyter scheduler extension available after install

Context

Troubleshoot Output
justin@74d0e70bc403:~$ sudo jupyter troubleshoot
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
$PATH:
        /usr/local/sbin
        /usr/local/bin
        /usr/sbin
        /usr/bin
        /sbin
        /bin

sys.path:
        /usr/local/bin
        /usr/local/lib/python38.zip
        /usr/local/lib/python3.8
        /usr/local/lib/python3.8/lib-dynload
        /usr/local/lib/python3.8/site-packages
        /usr/local/lib/python3.8/site-packages/minimize-0.0.0-py3.8-linux-x86_64.egg
        /usr/local/lib/python3.8/site-packages/python_dateutil-2.8.2-py3.8.egg

sys.executable:
        /usr/local/bin/python

sys.version:
        3.8.16 (default, Apr 12 2023, 14:58:47) 
        [GCC 10.2.1 20210110]

platform.platform():
        Linux-4.14.275-207.503.amzn2.x86_64-x86_64-with-glibc2.2.5

which -a jupyter:
        /usr/local/bin/jupyter

pip list:
        Package                  Version
        ------------------------ ------------
        aiofiles                 22.1.0
        aiosqlite                0.19.0
        alembic                  1.10.4
        amqp                     2.6.1
        anyio                    3.6.2
        argon2-cffi              21.3.0
        argon2-cffi-bindings     21.2.0
        arrow                    1.2.3
        asttokens                2.2.1
        async-generator          1.10
        attrs                    23.1.0
        Babel                    2.12.1
        backcall                 0.2.0
        beautifulsoup4           4.12.2
        billiard                 3.6.1.0
        bingads                  13.0.14
        bleach                   6.0.0
        blinker                  1.6.2
        boto3                    1.22.1
        botocore                 1.25.13
        cachetools               5.3.0
        celery                   4.4.7
        certifi                  2021.10.8
        certipy                  0.1.3
        cffi                     1.15.1
        charset-normalizer       3.1.0
        click                    8.1.3
        colorlover               0.3.0
        comm                     0.1.3
        croniter                 1.3.14
        cryptography             40.0.2
        cufflinks                0.17.3
        cycler                   0.11.0
        Cython                   0.29.28
        debugpy                  1.6.7
        decorator                5.1.1
        defusedxml               0.7.1
        dill                     0.3.4
        dnspython                1.16.0
        dotmap                   1.3.8
        entrypoints              0.4
        enum34                   1.1.10
        et-xmlfile               1.1.0
        executing                1.2.0
        fastjsonschema           2.16.3
        Flask                    2.1.2
        Flask-Cors               3.0.10
        Flask-JWT                0.3.2
        fqdn                     1.5.1
        fsspec                   2023.5.0
        future                   0.18.3
        github3.py               3.2.0
        google-ads               20.0.0
        google-api-core          2.11.0
        google-auth              2.17.3
        google-auth-oauthlib     0.8.0
        googleapis-common-protos 1.59.0
        greenlet                 2.0.2
        grpcio                   1.53.0
        grpcio-reflection        1.47.0
        grpcio-status            1.53.0
        idna                     3.4
        importlib-metadata       6.6.0
        importlib-resources      5.12.0
        iniconfig                2.0.0
        ipdb                     0.12.2
        ipykernel                6.23.0
        ipython                  8.12.2
        ipython-genutils         0.2.0
        ipywidgets               8.0.6
        isoduration              20.11.0
        itsdangerous             2.1.2
        jedi                     0.18.2
        Jinja2                   3.1.2
        jmespath                 1.0.1
        joblib                   1.2.0
        json5                    0.9.11
        jsonpointer              2.3
        jsonschema               4.17.3
        jupyter-client           7.3.4
        jupyter_core             5.3.0
        jupyter-events           0.6.3
        jupyter-resource-usage   0.7.2
        jupyter_scheduler        1.3.1
        jupyter-server           1.24.0
        jupyter_server_fileid    0.9.0
        jupyter_server_ydoc      0.8.0
        jupyter-telemetry        0.1.0
        jupyter-ydoc             0.2.4
        jupyterhub               1.4.2
        jupyterlab               3.6.3
        jupyterlab-pygments      0.2.2
        jupyterlab_server        2.22.1
        jupyterlab-widgets       3.0.7
        kiwisolver               1.4.4
        kombu                    4.6.11
        Mako                     1.2.4
        MarkupSafe               2.1.2
        matplotlib               3.1.1
        matplotlib-inline        0.1.6
        minimize                 0.0.0
        mistune                  2.0.5
        mock                     4.0.3
        mongoengine              0.26.0
        nbclassic                1.0.0
        nbclient                 0.7.4
        nbconvert                7.4.0
        nbformat                 5.8.0
        nest-asyncio             1.5.6
        notebook                 6.5.4
        notebook_shim            0.2.3
        numpy                    1.22.3
        oauthenticator           15.1.0
        oauthlib                 3.2.2
        openpyxl                 3.0.9
        packaging                23.1
        pamela                   1.0.0
        pandas                   1.4.2
        pandocfilters            1.5.0
        parso                    0.8.3
        pexpect                  4.8.0
        pickleshare              0.7.5
        pip                      22.0.4
        pkgutil_resolve_name     1.3.10
        platformdirs             3.5.0
        plotly                   5.8.0
        pluggy                   1.0.0
        prometheus-client        0.16.0
        prompt-toolkit           3.0.38
        proto-plus               1.22.2
        protobuf                 4.22.1
        psutil                   5.9.5
        ptyprocess               0.7.0
        pure-eval                0.2.2
        py                       1.11.0
        pyasn1                   0.5.0
        pyasn1-modules           0.3.0
        pycparser                2.21
        pydantic                 1.10.7
        pydevd-pycharm           221.5080.212
        Pygments                 2.15.1
        PyJWT                    2.7.0
        pymongo                  4.3.3
        pyOpenSSL                23.1.1
        pyparsing                3.0.9
        pyrsistent               0.19.3
        pytest                   7.1.2
        python-dateutil          2.8.2
        python-json-logger       2.0.7
        pytz                     2023.3
        PyYAML                   6.0
        pyzmq                    25.0.2
        requests                 2.30.0
        requests-oauthlib        1.3.1
        rfc3339-validator        0.1.4
        rfc3986-validator        0.1.1
        rsa                      4.9
        ruamel.yaml              0.17.26
        ruamel.yaml.clib         0.2.7
        s3fs                     0.3.4
        s3transfer               0.5.2
        scikit-learn             1.0.2
        scipy                    1.8.0
        Send2Trash               1.8.2
        sentry-sdk               1.12.1
        setuptools               57.5.0
        sharedutils              0.0.5
        simplejson               3.16.0
        six                      1.16.0
        sniffio                  1.3.0
        soupsieve                2.4.1
        SQLAlchemy               1.4.48
        stack-data               0.6.2
        suds-community           1.1.2
        tenacity                 8.2.2
        terminado                0.17.1
        threadpoolctl            3.1.0
        tinycss2                 1.2.1
        tomli                    2.0.1
        tornado                  6.1
        traitlets                5.9.0
        typing_extensions        4.5.0
        uri-template             1.2.0
        uritemplate              4.1.1
        urllib3                  1.26.15
        uWSGI                    2.0.21
        vine                     1.3.0
        wcwidth                  0.2.6
        webcolors                1.13
        webencodings             0.5.1
        websocket-client         1.5.1
        Werkzeug                 2.3.2
        wheel                    0.40.0
        widgetsnbextension       4.0.7
        xlrd                     1.2.0
        y-py                     0.5.9
        ypy-websocket            0.8.2
        zipp                     3.15.0
Command Line Output
justin@74d0e70bc403:~$ jupyter lab --debug
[D 2023-05-10 14:26:04.026 ServerApp] Searching ['/home/justin/.jupyter', '/home/justin/.local/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[D 2023-05-10 14:26:04.026 ServerApp] Looking for jupyter_config in /etc/jupyter
[D 2023-05-10 14:26:04.027 ServerApp] Looking for jupyter_config in /usr/local/etc/jupyter
[D 2023-05-10 14:26:04.027 ServerApp] Looking for jupyter_config in /home/justin/.local/etc/jupyter
[D 2023-05-10 14:26:04.027 ServerApp] Looking for jupyter_config in /home/justin/.jupyter
[D 2023-05-10 14:26:04.028 ServerApp] Looking for jupyter_server_config in /etc/jupyter
[D 2023-05-10 14:26:04.029 ServerApp] Looking for jupyter_server_config in /usr/local/etc/jupyter
[D 2023-05-10 14:26:04.029 ServerApp] Looking for jupyter_server_config in /home/justin/.local/etc/jupyter
[D 2023-05-10 14:26:04.029 ServerApp] Looking for jupyter_server_config in /home/justin/.jupyter
[D 2023-05-10 14:26:04.032 ServerApp] Paths used for configuration of jupyter_server_config: 
        /etc/jupyter/jupyter_server_config.json
[D 2023-05-10 14:26:04.033 ServerApp] Paths used for configuration of jupyter_server_config: 
        /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_resource_usage.json
        /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_scheduler.json
        /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_server_fileid.json
        /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_server_ydoc.json
        /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab.json
        /usr/local/etc/jupyter/jupyter_server_config.d/nbclassic.json
        /usr/local/etc/jupyter/jupyter_server_config.d/notebook_shim.json
        /usr/local/etc/jupyter/jupyter_server_config.json
[D 2023-05-10 14:26:04.034 ServerApp] Paths used for configuration of jupyter_server_config: 
        /home/justin/.local/etc/jupyter/jupyter_server_config.json
[D 2023-05-10 14:26:04.035 ServerApp] Paths used for configuration of jupyter_server_config: 
        /home/justin/.jupyter/jupyter_server_config.json
[I 2023-05-10 14:26:04.422 ServerApp] jupyter_resource_usage | extension was successfully linked.
[D 2023-05-10 14:26:04.430 SchedulerApp] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[D 2023-05-10 14:26:04.431 ServerApp] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[I 2023-05-10 14:26:04.434 ServerApp] jupyter_scheduler | extension was successfully linked.
[D 2023-05-10 14:26:04.439 FileIdExtension] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[D 2023-05-10 14:26:04.441 ServerApp] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[I 2023-05-10 14:26:04.442 ServerApp] jupyter_server_fileid | extension was successfully linked.
[D 2023-05-10 14:26:04.449 YDocExtension] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[D 2023-05-10 14:26:04.451 ServerApp] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[I 2023-05-10 14:26:04.452 ServerApp] jupyter_server_ydoc | extension was successfully linked.
[D 2023-05-10 14:26:04.460 LabApp] Config changed: {'NotebookApp': {}, 'ServerApp': {'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[I 2023-05-10 14:26:04.461 ServerApp] jupyterlab | extension was successfully linked.
[W 2023-05-10 14:26:04.463 NotebookApp] 'notebook_dir' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2023-05-10 14:26:04.463 NotebookApp] 'allow_root' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[D 2023-05-10 14:26:04.468 NotebookApp] Config changed: {'NotebookApp': {}, 'ServerApp': {'notebook_dir': '/app/jupyter_checkpoints', 'allow_root': True, 'log_level': 'DEBUG', 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG'}}
[W 2023-05-10 14:26:04.469 ServerApp] notebook_dir is deprecated, use root_dir
[I 2023-05-10 14:26:04.469 ServerApp] nbclassic | extension was successfully linked.
[I 2023-05-10 14:26:04.472 ServerApp] Writing Jupyter server cookie secret to /home/justin/.local/share/jupyter/runtime/jupyter_cookie_secret
[D 2023-05-10 14:26:04.737 ServerApp] Paths used for configuration of jupyter_notebook_config: 
        /home/justin/.jupyter/jupyter_notebook_config.json
[D 2023-05-10 14:26:04.737 ServerApp] Paths used for configuration of jupyter_notebook_config: 
        /etc/jupyter/jupyter_notebook_config.json
[D 2023-05-10 14:26:04.738 ServerApp] Paths used for configuration of jupyter_notebook_config: 
        /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyter_resource_usage.json
        /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyter_scheduler.json
        /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyter_server_ydoc.json
        /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json
        /usr/local/etc/jupyter/jupyter_notebook_config.json
[D 2023-05-10 14:26:04.738 ServerApp] Paths used for configuration of jupyter_notebook_config: 
        /home/justin/.local/etc/jupyter/jupyter_notebook_config.json
[D 2023-05-10 14:26:04.739 ServerApp] Paths used for configuration of jupyter_notebook_config: 
        /home/justin/.jupyter/jupyter_notebook_config.json
[I 2023-05-10 14:26:04.739 ServerApp] notebook_shim | extension was successfully linked.
[D 2023-05-10 14:26:04.740 ServerApp] Config changed: {'ExtensionApp': {'log_level': 'DEBUG'}, 'NotebookApp': {}, 'ServerApp': {'notebook_dir': '/app/jupyter_checkpoints', 'allow_root': True, 'log_level': 'DEBUG', 'jpserver_extensions': }}
[I 2023-05-10 14:26:04.757 ServerApp] notebook_shim | extension was successfully loaded.
[I 2023-05-10 14:26:04.758 ServerApp] jupyter_resource_usage | extension was successfully loaded.
[I 2023-05-10 14:26:04.943 ServerApp] jupyter_scheduler | extension was successfully loaded.
[I 2023-05-10 14:26:04.943 FileIdExtension] Configured File ID manager: ArbitraryFileIdManager
[I 2023-05-10 14:26:04.944 FileIdExtension] ArbitraryFileIdManager : Configured root dir: /app/jupyter_checkpoints
[I 2023-05-10 14:26:04.944 FileIdExtension] ArbitraryFileIdManager : Configured database path: /home/justin/.local/share/jupyter/file_id_manager.db
[I 2023-05-10 14:26:04.944 FileIdExtension] ArbitraryFileIdManager : Successfully connected to database file.
[I 2023-05-10 14:26:04.944 FileIdExtension] ArbitraryFileIdManager : Creating File ID tables and indices with journal_mode = DELETE
[I 2023-05-10 14:26:04.951 ServerApp] jupyter_server_fileid | extension was successfully loaded.
[I 2023-05-10 14:26:04.952 ServerApp] jupyter_server_ydoc | extension was successfully loaded.
[I 2023-05-10 14:26:04.953 LabApp] JupyterLab extension loaded from /usr/local/lib/python3.8/site-packages/jupyterlab
[I 2023-05-10 14:26:04.954 LabApp] JupyterLab application directory is /usr/local/share/jupyter/lab
[I 2023-05-10 14:26:04.958 ServerApp] jupyterlab | extension was successfully loaded.

  _   _          _      _
 | | | |_ __  __| |__ _| |_ ___
 | |_| | '_ \/ _` / _` |  _/ -_)
  \___/| .__/\__,_\__,_|\__\___|
       |_|

Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions.

https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html

Please note that updating to Notebook 7 might break some of your extensions.

[I 2023-05-10 14:26:04.963 ServerApp] nbclassic | extension was successfully loaded.
[I 2023-05-10 14:26:04.964 ServerApp] Serving notebooks from local directory: /app/jupyter_checkpoints
[I 2023-05-10 14:26:04.964 ServerApp] Jupyter Server 1.24.0 is running at:
[I 2023-05-10 14:26:04.964 ServerApp] http://localhost:8888/lab?token=790954ab61e982958531fdc595a622bf8ce8a36fdb3d8390
[I 2023-05-10 14:26:04.964 ServerApp]  or http://127.0.0.1:8888/lab?token=790954ab61e982958531fdc595a622bf8ce8a36fdb3d8390
[I 2023-05-10 14:26:04.964 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 2023-05-10 14:26:04.970 ServerApp] No web browser found: could not locate runnable browser.
[C 2023-05-10 14:26:04.970 ServerApp] 

    To access the server, open this file in a browser:
        file:///home/justin/.local/share/jupyter/runtime/jpserver-754-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=790954ab61e982958531fdc595a622bf8ce8a36fdb3d8390
     or http://127.0.0.1:8888/lab?token=790954ab61e982958531fdc595a622bf8ce8a36fdb3d8390
Browser Output
remoteEntry.e36921af02dc11718a41.js:1 Unsatisfied version 6.0.4 of shared singleton module @jupyter-widgets/base (required ^2.0.0 || ^3.0.0 || ^4.0.0)
s @ remoteEntry.e36921af02dc11718a41.js:1
(anonymous) @ remoteEntry.e36921af02dc11718a41.js:1
(anonymous) @ remoteEntry.e36921af02dc11718a41.js:1
211 @ remoteEntry.e36921af02dc11718a41.js:1
(anonymous) @ remoteEntry.e36921af02dc11718a41.js:1
P.f.consumes @ remoteEntry.e36921af02dc11718a41.js:1
(anonymous) @ remoteEntry.e36921af02dc11718a41.js:1
P.e @ remoteEntry.e36921af02dc11718a41.js:1
./extension @ remoteEntry.e36921af02dc11718a41.js:1
o @ remoteEntry.e36921af02dc11718a41.js:1
G @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
(anonymous) @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
H @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
load (async)
e @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
await in e (async)
37559 @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
a @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2     GET https://jupyter.xxxx.com/user/justin/api/me?1683728502836 404
n @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
n @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
requestUser @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
u @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
f @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
h @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
W @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
H @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
load (async)
e @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
await in e (async)
37559 @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
a @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
react_devtools_backend_compact.js:2367 Language pack 'en_US' not installed!
overrideMethod @ react_devtools_backend_compact.js:2367
fetch @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
await in fetch (async)
activate @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
await in activate (async)
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
Promise.then (async)
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.activatePlugin @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.resolveRequiredService @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.activatePlugin @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.resolveRequiredService @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.activatePlugin @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.start @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
H @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
load (async)
e @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
await in e (async)
37559 @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
a @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2     GET https://jupyter.xxxx.com/user/justin/scheduler/jobs?max_items=0&1683728504566 404
n @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
n @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
T @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
getJobs @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
activate @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
Promise.then (async)
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.activatePlugin @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.start @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
H @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
load (async)
e @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
await in e (async)
37559 @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
a @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
react_devtools_backend_compact.js:2367 Not a JSON response body. Response {type: 'basic', url: 'https://jupyter.xxxx.com/user/justin/scheduler/jobs?max_items=0&1683728504566', redirected: false, status: 404, ok: false, …}
overrideMethod @ react_devtools_backend_compact.js:2367
T @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
await in T (async)
getJobs @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
activate @ 810.adad3f61633c8610a1c5.js?v=adad3f61633c8610a1c5:1
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
Promise.then (async)
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
l @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
c @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.activatePlugin @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
(anonymous) @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
e.start @ jlab_core.4d5114e25256eeddf4e4.js?v=4d5114e25256eeddf4e4:2
H @ 7796.0dcdca3baf288d835bab.js?v=0dcdca3baf288d835bab:1
load (async)
e @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
await in e (async)
37559 @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
a @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
(anonymous) @ main.c474366c927dbb3da565.js?v=c474366c927dbb3da565:1
DevTools failed to load source map: Could not load content for https://jupyter.xxxx.com/user/justin/static/lab/6443.04025a1d063425902d56.js.map?v=04025a1d063425902d56: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

iameskild commented 1 year ago

I'm running into this same issue. The extension is installed and enabled but this warning message appears and Jupyter-Scheduler doesn't appear in the launcher (or in the notebook nav bar). I can also confirm Jupyter-Scheduler was installed "in the same environment in which you run JupyterLab."

I've enabled --debug when launching, but I'm still not seeing anything obviously wrong. The only minor difference I've noticed is that most of my labextension apps live in /opt/conda/envs/default/share/jupyter/labextensions. In contrast, Jupyter-Scheduler and one other extension live in /home/<user>/.local/share/jupyter/labextensions.

jupyter-scheduler == 1.3.1

3coins commented 1 year ago

@nev7n @iameskild Thanks for reporting this issue. Are there any errors you see in the server logs; it would help us investigate this issue.

iameskild commented 1 year ago

Hi @3coins, I was trying to run this on a much older version of JupyterHub and once I set JUPYTERHUB_SINGLEUSER_APP=jupyter_server.serverapp.ServerApp, I was able to get around this issue. It seems that older versions of JupyterHub run JupyterLab as an extension itself and this might have been the reason Jupyter-Scheduler wasn't being properly picked up.

Thanks for following up!!

3coins commented 1 year ago

@iameskild We haven’t delved into JupyterHub support but glad that you are able to run it.

nev7n commented 1 year ago

@iameskild thanks for your response - it turns out we were also running an old version of JupyterHub (1.4.2), and after updating to JupyterHub==4.0.0 it resolved the issue.

We had a separate issue with a Javascript exception (calling method split on undefined, seemed to be related to trying to fetch file name from widget) when trying to add a schedule to a notebook by using right-click menu but resolved that by downgrading jupyterlab from 4.0.0 -> 3.6.3.

edrewitz commented 1 year ago

Hi all! I keep getting the same issue. I pip installed jupyter_schedule in the base environment which is where I have everything else installed and I keep getting the same error. I noticed that even after pip installing this, for some reason it keeps saying this is not installed when looking at the server extension list. Also anytime I try to pip install jupyter_scheduler, it keeps telling me the requirement is satisfied even after I try pip uninstalling and then re-installing. Please help. Thank you.

Regards,

Eric

Error
spearman commented 10 months ago

Same problem here shows enabled OK but getting the server extension not found popup

Config dir: /home/jovyan/.jupyter
    jupyter_scheduler enabled
    - Validating jupyter_scheduler...
Package jupyter_scheduler took 0.1675s to import
      jupyter_scheduler 2.4.0 OK

Config dir: /opt/conda/etc/jupyter
...
    jupyter_scheduler enabled
    - Validating jupyter_scheduler...
Package jupyter_scheduler took 0.0000s to import
      jupyter_scheduler 2.4.0 OK
...

Config dir: /usr/local/etc/jupyter

JupyterLab v4.0.8
/opt/conda/share/jupyter/labextensions
        jupyterlab_pygments v0.2.2 enabled  X (python, jupyterlab_pygments)
        nbdime-jupyterlab v2.2.0 enabled  X
        jupyter-matplotlib v0.11.3 enabled OK
        @jupyter-notebook/lab-extension v7.0.6 enabled OK
        @jupyterlab/git v0.41.0 enabled  X (python, jupyterlab-git)
        @jupyterlab/scheduler v2.4.0 enabled OK
        @jupyterhub/jupyter-server-proxy v4.1.0 enabled OK
        @jupyter-widgets/jupyterlab-manager v5.0.9 enabled OK (python, jupyterlab_widgets)

   The following extensions are outdated:
        jupyterlab_pygments
        nbdime-jupyterlab
        @jupyterlab/git

   Consider checking if an update is available for these packages.

Other labextensions (built into JupyterLab)
   app dir: /opt/conda/share/jupyter/lab
dlqqq commented 10 months ago

Hey folks, this error popup appears whenever the Scheduler lab extension (running in the browser) is unable to receive a response from the Scheduler server extension when JupyterLab is opened in the browser. As this is a very generic issue with several users suggesting different causes, the correspondence here is unlikely to be of benefit to future users. Therefore I will close this issue.

For us to help, we need a reproducible example, i.e. some instructions on how to reach the broken state that you are encountering. For example, you can export your Conda environment and include it in your issue:

conda list --explicit > env.txt
# then upload it as a GitHub gist and link to it in an issue comment

I also recommend testing Scheduler in a fresh Conda environment. If Scheduler works in this environment but fails in the previous one, then it is most likely an issue with your environment, not Scheduler. This can happen if you pip blindly installs incompatible packages after installing jupyter-scheduler and resolves some shared dependency to a version incompatible to jupyter-scheduler. Otherwise, please open an issue, as it most likely is a bug in Scheduler.

To test Scheduler in a fresh Conda environment:

conda create -yn sch-test python=3.11
conda activate sch-test
conda install jupyter_scheduler~=2 jupyterlab~=4
jupyter lab
# now test on localhost:8888

Finally, I also recommend listing the dependencies of jupyter-scheduler via pipdeptree, a helpful utility that I'm fond of:

pip install pipdeptree # don't use conda install since the feedstock is outdated (for now)
pipdeptree --packages jupyter-scheduler

Happy Thanksgiving! Feel free to keep the conversation going here until you are able to reproduce the bug and file a separate issue on GitHub; we will still reply to comments in closed issues.